
<!DOCTYPE HTML>
<html lang="" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>数据选择类 · GitBook</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        
        
        
    
    <link rel="stylesheet" href="../gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="AUTOCOMPLETELIST.html" />
    
    
    <link rel="prev" href="FILEUPLOADlIST.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="Type to search" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="../">
            
                <a href="../">
            
                    
                    前言
            
                </a>
            

            
        </li>
    

    
        
        <li class="divider"></li>
        
        
    
        <li class="chapter " data-level="2.1" >
            
                <span>
            
                    
                    应用
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.1.1" data-path="../APPS/LOCALE.html">
            
                <a href="../APPS/LOCALE.html">
            
                    
                    国际化
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.2" data-path="../APPS/EXTENDED.html">
            
                <a href="../APPS/EXTENDED.html">
            
                    
                    快速介入
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.3" data-path="../APPS/STYLE.html">
            
                <a href="../APPS/STYLE.html">
            
                    
                    样式规划
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.4" data-path="../APPS/NAVG.html">
            
                <a href="../APPS/NAVG.html">
            
                    
                    导航模式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.5" data-path="../APPS/TEMP.html">
            
                <a href="../APPS/TEMP.html">
            
                    
                    临时模式
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.6" data-path="../APPS/Theme.html">
            
                <a href="../APPS/Theme.html">
            
                    
                    应用主题
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.7" data-path="../APPS/NAVPARAM.html">
            
                <a href="../APPS/NAVPARAM.html">
            
                    
                    自定义导航参数
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.1.8" data-path="../APPS/VIEWMESSAGE.html">
            
                <a href="../APPS/VIEWMESSAGE.html">
            
                    
                    视图消息
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.2" >
            
                <span>
            
                    
                    视图
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.2.1" data-path="../VIEWS/EDITVIEW.html">
            
                <a href="../VIEWS/EDITVIEW.html">
            
                    
                    实体编辑视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.2" data-path="../VIEWS/EDITVIEWPAGE.html">
            
                <a href="../VIEWS/EDITVIEWPAGE.html">
            
                    
                    实体编辑视图(分页关系)
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.3" data-path="../VIEWS/EDITVIEWUPDOWN.html">
            
                <a href="../VIEWS/EDITVIEWUPDOWN.html">
            
                    
                    实体编辑视图(上下关系)
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.4" data-path="../VIEWS/EDITVIEWABOUT.html">
            
                <a href="../VIEWS/EDITVIEWABOUT.html">
            
                    
                    实体编辑视图(左右关系)
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.5" data-path="../VIEWS/MEDITVIEW.html">
            
                <a href="../VIEWS/MEDITVIEW.html">
            
                    
                    实体多表单编辑视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.6" data-path="../VIEWS/GRIDVIEW.html">
            
                <a href="../VIEWS/GRIDVIEW.html">
            
                    
                    实体表格视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.7" data-path="../VIEWS/GRIDEXPVIEW.html">
            
                <a href="../VIEWS/GRIDEXPVIEW.html">
            
                    
                    实体表格导航视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.8" data-path="../VIEWS/TABEXPVIEW.html">
            
                <a href="../VIEWS/TABEXPVIEW.html">
            
                    
                    实体分页导航视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.9" data-path="../VIEWS/EntityDataKanbanView.html">
            
                <a href="../VIEWS/EntityDataKanbanView.html">
            
                    
                    实体数据看板视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.10" data-path="../VIEWS/LISTVIEW.html">
            
                <a href="../VIEWS/LISTVIEW.html">
            
                    
                    实体列表视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.11" data-path="../VIEWS/LISTEXPVIEW.html">
            
                <a href="../VIEWS/LISTEXPVIEW.html">
            
                    
                    实体列表导航视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.12" data-path="../VIEWS/DATAVIEW.html">
            
                <a href="../VIEWS/DATAVIEW.html">
            
                    
                    实体数据视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.13" data-path="../VIEWS/OPTIONVIEW.html">
            
                <a href="../VIEWS/OPTIONVIEW.html">
            
                    
                    实体选项操作视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.14" data-path="../VIEWS/DATAVIEWEXPVIEW.html">
            
                <a href="../VIEWS/DATAVIEWEXPVIEW.html">
            
                    
                    实体卡片导航视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.15" data-path="../VIEWS/CALENDARVIEW.html">
            
                <a href="../VIEWS/CALENDARVIEW.html">
            
                    
                    实体日历视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.16" data-path="../VIEWS/DAREXPVIEW.html">
            
                <a href="../VIEWS/DAREXPVIEW.html">
            
                    
                    实体日历导航视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.17" data-path="../VIEWS/TREEVIEW.html">
            
                <a href="../VIEWS/TREEVIEW.html">
            
                    
                    实体树视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.18" data-path="../VIEWS/TREEEXPVIEW.html">
            
                <a href="../VIEWS/TREEEXPVIEW.html">
            
                    
                    实体树导航视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.19" data-path="../VIEWS/TREEGRIDEXVIEW.html">
            
                <a href="../VIEWS/TREEGRIDEXVIEW.html">
            
                    
                    实体树表格视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.20" data-path="../VIEWS/INDEXVIEW.html">
            
                <a href="../VIEWS/INDEXVIEW.html">
            
                    
                    应用首页视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.21" data-path="../VIEWS/AppKanBanView.html">
            
                <a href="../VIEWS/AppKanBanView.html">
            
                    
                    应用看板视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.22" data-path="../VIEWS/ENTITYKANBANVIEW.html">
            
                <a href="../VIEWS/ENTITYKANBANVIEW.html">
            
                    
                    实体看板视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.23" data-path="../VIEWS/GANTTVIEW.html">
            
                <a href="../VIEWS/GANTTVIEW.html">
            
                    
                    实体甘特图视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.24" data-path="../VIEWS/ENTITYCHARTVIEW.html">
            
                <a href="../VIEWS/ENTITYCHARTVIEW.html">
            
                    
                    实体图表视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.25" data-path="../VIEWS/ENTITYDATASELECTVIEW.html">
            
                <a href="../VIEWS/ENTITYDATASELECTVIEW.html">
            
                    
                    实体数据选择视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.26" data-path="../VIEWS/ENTITYSELECTGRIDVIEW.html">
            
                <a href="../VIEWS/ENTITYSELECTGRIDVIEW.html">
            
                    
                    实体选择表格视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.27" data-path="../VIEWS/ENTITYSELECTTREEVIEW.html">
            
                <a href="../VIEWS/ENTITYSELECTTREEVIEW.html">
            
                    
                    实体选择树视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.28" data-path="../VIEWS/INDEXPICKUPDATAVIEW.html">
            
                <a href="../VIEWS/INDEXPICKUPDATAVIEW.html">
            
                    
                    实体索引关系选择视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.29" data-path="../VIEWS/ENTITYWORKFLOWTABLEEXPVIEW.html">
            
                <a href="../VIEWS/ENTITYWORKFLOWTABLEEXPVIEW.html">
            
                    
                    实体工作流动态导航表格视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.30" data-path="../VIEWS/ENTITYWORKFLOWEDITVIEW.html">
            
                <a href="../VIEWS/ENTITYWORKFLOWEDITVIEW.html">
            
                    
                    实体工作流动态编辑视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.31" data-path="../VIEWS/LOGINVIEW.html">
            
                <a href="../VIEWS/LOGINVIEW.html">
            
                    
                    应用登录视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.32" data-path="../VIEWS/DATAUPLOADVIEW.html">
            
                <a href="../VIEWS/DATAUPLOADVIEW.html">
            
                    
                    应用数据导入视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.33" data-path="../VIEWS/REDIRECTVIEW.html">
            
                <a href="../VIEWS/REDIRECTVIEW.html">
            
                    
                    实体数据重定向视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.34" data-path="../VIEWS/CUSTOM.html">
            
                <a href="../VIEWS/CUSTOM.html">
            
                    
                    实体自定义视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.2.35" data-path="../VIEWS/WIZARDVIEW.html">
            
                <a href="../VIEWS/WIZARDVIEW.html">
            
                    
                    实体向导视图
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.3" >
            
                <span>
            
                    
                    部件
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.3.1" data-path="../CTRLS/FORM.html">
            
                <a href="../CTRLS/FORM.html">
            
                    
                    表单
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.2" data-path="../CTRLS/GRID.html">
            
                <a href="../CTRLS/GRID.html">
            
                    
                    表格
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.3" data-path="../CTRLS/GRIDEXPBAR.html">
            
                <a href="../CTRLS/GRIDEXPBAR.html">
            
                    
                    表格导航
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.4" data-path="../CTRLS/SEARCHBAR.html">
            
                <a href="../CTRLS/SEARCHBAR.html">
            
                    
                    搜索栏
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.5" data-path="../CTRLS/SEARCHFORM.html">
            
                <a href="../CTRLS/SEARCHFORM.html">
            
                    
                    搜索表单
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.6" data-path="../CTRLS/DataKanBan.html">
            
                <a href="../CTRLS/DataKanBan.html">
            
                    
                    数据看板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.7" data-path="../CTRLS/PortalComponents.html">
            
                <a href="../CTRLS/PortalComponents.html">
            
                    
                    门户部件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.8" data-path="../CTRLS/TABEXPPANEL.html">
            
                <a href="../CTRLS/TABEXPPANEL.html">
            
                    
                    分页导航面板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.9" data-path="../CTRLS/TABVIEWPANEL.html">
            
                <a href="../CTRLS/TABVIEWPANEL.html">
            
                    
                    分页视图面板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.10" data-path="../CTRLS/APPMENU.html">
            
                <a href="../CTRLS/APPMENU.html">
            
                    
                    应用菜单
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.11" data-path="../CTRLS/LIST.html">
            
                <a href="../CTRLS/LIST.html">
            
                    
                    列表
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.12" data-path="../CTRLS/LISTEXPBAR.html">
            
                <a href="../CTRLS/LISTEXPBAR.html">
            
                    
                    列表导航
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.13" data-path="../CTRLS/PANEL.html">
            
                <a href="../CTRLS/PANEL.html">
            
                    
                    面板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.14" data-path="../CTRLS/DATAVIEWCTRL.html">
            
                <a href="../CTRLS/DATAVIEWCTRL.html">
            
                    
                    数据视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.15" data-path="../CTRLS/DATAVIEWEXPBAR.html">
            
                <a href="../CTRLS/DATAVIEWEXPBAR.html">
            
                    
                    卡片视图导航
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.16" data-path="../CTRLS/DataRelationPage.html">
            
                <a href="../CTRLS/DataRelationPage.html">
            
                    
                    数据关系分页
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.17" data-path="../CTRLS/DATARELATIONFIELD.html">
            
                <a href="../CTRLS/DATARELATIONFIELD.html">
            
                    
                    数据关系栏
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.18" data-path="../CTRLS/CALENDAR.html">
            
                <a href="../CTRLS/CALENDAR.html">
            
                    
                    日历部件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.19" data-path="../CTRLS/CALENDARTIMELINE.html">
            
                <a href="../CTRLS/CALENDARTIMELINE.html">
            
                    
                    日历部件(时间轴)
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.20" data-path="../CTRLS/CALENDAREXPBAR.html">
            
                <a href="../CTRLS/CALENDAREXPBAR.html">
            
                    
                    日历导航
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.21" data-path="../CTRLS/TREEEXPBAR.html">
            
                <a href="../CTRLS/TREEEXPBAR.html">
            
                    
                    树导航
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.22" data-path="../CTRLS/TREEVIEWUNIT.html">
            
                <a href="../CTRLS/TREEVIEWUNIT.html">
            
                    
                    树视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.23" data-path="../CTRLS/TREEGRID.html">
            
                <a href="../CTRLS/TREEGRID.html">
            
                    
                    树表格
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.24" data-path="../CTRLS/MULTIEDITVIEWPANEL.html">
            
                <a href="../CTRLS/MULTIEDITVIEWPANEL.html">
            
                    
                    多编辑视图面板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.25" data-path="../CTRLS/KANBANVIEWUNIT.html">
            
                <a href="../CTRLS/KANBANVIEWUNIT.html">
            
                    
                    看板视图
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.26" data-path="../CTRLS/GANTT.html">
            
                <a href="../CTRLS/GANTT.html">
            
                    
                    甘特图部件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.27" data-path="../CTRLS/DATACHART.html">
            
                <a href="../CTRLS/DATACHART.html">
            
                    
                    数据图表
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.28" data-path="../CTRLS/SELECTVIEWPANEL.html">
            
                <a href="../CTRLS/SELECTVIEWPANEL.html">
            
                    
                    选择视图面板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.29" data-path="../CTRLS/WIZARDPANEL.html">
            
                <a href="../CTRLS/WIZARDPANEL.html">
            
                    
                    向导面板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.30" data-path="../CTRLS/STATEWIZARDPANEL.html">
            
                <a href="../CTRLS/STATEWIZARDPANEL.html">
            
                    
                    状态向导面板
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.31" data-path="../CTRLS/CONTEXTMENU.html">
            
                <a href="../CTRLS/CONTEXTMENU.html">
            
                    
                    上下文菜单
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.3.32" data-path="../CTRLS/TOOLBAR.html">
            
                <a href="../CTRLS/TOOLBAR.html">
            
                    
                    工具栏
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.4" >
            
                <span>
            
                    
                    编辑器
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.4.1" data-path="BASIC.html">
            
                <a href="BASIC.html">
            
                    
                    基础类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.4.2" data-path="SHOW.html">
            
                <a href="SHOW.html">
            
                    
                    展示类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.4.3" data-path="SELECT.html">
            
                <a href="SELECT.html">
            
                    
                    选择类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.4.4" data-path="TIME.html">
            
                <a href="TIME.html">
            
                    
                    时间类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.4.5" data-path="FILEUPLOADlIST.html">
            
                <a href="FILEUPLOADlIST.html">
            
                    
                    文件上传类
            
                </a>
            

            
        </li>
    
        <li class="chapter active" data-level="2.4.6" data-path="DATASELECT.html">
            
                <a href="DATASELECT.html">
            
                    
                    数据选择类
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.4.7" data-path="AUTOCOMPLETELIST.html">
            
                <a href="AUTOCOMPLETELIST.html">
            
                    
                    自动填充类
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.5" >
            
                <span>
            
                    
                    逻辑
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.5.1" data-path="../LOGIC/APPFUNC.html">
            
                <a href="../LOGIC/APPFUNC.html">
            
                    
                    应用功能
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.5.2" data-path="../LOGIC/ACTION.html">
            
                <a href="../LOGIC/ACTION.html">
            
                    
                    界面行为
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.5.3" data-path="../LOGIC/VIEWLOGIC.html">
            
                <a href="../LOGIC/VIEWLOGIC.html">
            
                    
                    视图逻辑
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.6" >
            
                <span>
            
                    
                    UI服务
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.6.1" data-path="../UISERVICE/CTRLSERVICE.html">
            
                <a href="../UISERVICE/CTRLSERVICE.html">
            
                    
                    部件服务
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.6.2" data-path="../UISERVICE/UISERVICE.html">
            
                <a href="../UISERVICE/UISERVICE.html">
            
                    
                    界面服务
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.6.3" data-path="../UISERVICE/AUTHSERVICE.html">
            
                <a href="../UISERVICE/AUTHSERVICE.html">
            
                    
                    权限服务
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.6.4" data-path="../UISERVICE/CODELISTSERVICE.html">
            
                <a href="../UISERVICE/CODELISTSERVICE.html">
            
                    
                    代码表服务
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.6.5" data-path="../UISERVICE/COUNTERSERVICE.html">
            
                <a href="../UISERVICE/COUNTERSERVICE.html">
            
                    
                    计数器服务
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.6.6" data-path="../UISERVICE/APPUTILSERVICE.html">
            
                <a href="../UISERVICE/APPUTILSERVICE.html">
            
                    
                    应用功能服务
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="2.6.7" data-path="../UISERVICE/VIEWMESSAGESERVICE.html">
            
                <a href="../UISERVICE/VIEWMESSAGESERVICE.html">
            
                    
                    视图消息服务
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.7" >
            
                <span>
            
                    
                    数据服务
            
                </span>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="2.7.1" data-path="../DATASERVICE/DATASERVICE.html">
            
                <a href="../DATASERVICE/DATASERVICE.html">
            
                    
                    数据服务
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="2.8" data-path="../APPS/PROBLEM.html">
            
                <a href="../APPS/PROBLEM.html">
            
                    
                    常见问题
            
                </a>
            

            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            Published with GitBook
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href=".." >数据选择类</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="&#x6570;&#x636E;&#x9009;&#x62E9;&#x7C7B;">&#x6570;&#x636E;&#x9009;&#x62E9;&#x7C7B;</h1>
<h2 id="&#x7F16;&#x8F91;&#x5668;">&#x7F16;&#x8F91;&#x5668;</h2>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x6807;&#x8BC6;</th>
<th>&#x540D;&#x79F0;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E380000</td>
<td>PICKER</td>
<td><a href="#&#x6570;&#x636E;&#x9009;&#x62E9;">&#x6570;&#x636E;&#x9009;&#x62E9;</a></td>
<td>&#x901A;&#x8FC7;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6846;&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x652F;&#x6301;&#x8F93;&#x5165;&#x65F6;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x641C;&#x7D22;&#x5217;&#x8868;&#xFF0C;&#x5E76;&#x53EF;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x6765;&#x9009;&#x62E9;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E390000</td>
<td>PICKEREX_LINK</td>
<td><a href="#&#x6570;&#x636E;&#x9009;&#x62E9;-&#x6570;&#x636E;&#x94FE;&#x63A5;">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x6570;&#x636E;&#x94FE;&#x63A5;</a></td>
<td>&#x901A;&#x8FC7;&#x8005;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6846;&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x652F;&#x6301;&#x8F93;&#x5165;&#x65F6;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x641C;&#x7D22;&#x5217;&#x8868;,&#x5E76;&#x53EF;&#x4EE5;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x9009;&#x5219;&#x6570;&#x636E;&#x548C;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;</td>
</tr>
<tr>
<td>E400000</td>
<td>PICKEREX_NOBUTTON</td>
<td><a href="#&#x6570;&#x636E;&#x9009;&#x62E9;-&#x65E0;&#x6309;&#x94AE;">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x65E0;&#x6309;&#x94AE;</a></td>
<td>&#x901A;&#x8FC7;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6846;&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x652F;&#x6301;&#x8F93;&#x5165;&#x65F6;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x641C;&#x7D22;&#x5217;&#x8868;</td>
</tr>
<tr>
<td>E410000</td>
<td>PICKEREX_NOAC</td>
<td><a href="#page1">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x65E0;AC</a></td>
<td>&#x901A;&#x8FC7;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x9009;&#x62E9;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E420000</td>
<td>PICKEREX_NOAC_LINK</td>
<td><a href="#page2">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x65E0;AC,&#x6570;&#x636E;&#x94FE;&#x63A5;</a></td>
<td>&#x901A;&#x8FC7;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x9009;&#x62E9;&#x6570;&#x636E;&#xFF0C;&#x5E76;&#x53EF;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;</td>
</tr>
<tr>
<td>E430000</td>
<td>PICKEREX_TRIGGER</td>
<td><a href="#&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;</a></td>
<td>&#x901A;&#x8FC7;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6846;&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x652F;&#x6301;&#x8F93;&#x5165;&#x65F6;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x641C;&#x7D22;&#x5217;&#x8868;</td>
</tr>
<tr>
<td>E440000</td>
<td>PICKEREX_TRIGGER_LINK</td>
<td><a href="#&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;,&#x6570;&#x636E;&#x8FDE;&#x63A5;">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;,&#x6570;&#x636E;&#x8FDE;&#x63A5;</a></td>
<td>&#x901A;&#x8FC7;&#x8005;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6846;&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x652F;&#x6301;&#x8F93;&#x5165;&#x65F6;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x641C;&#x7D22;&#x5217;&#x8868;,&#x5E76;&#x53EF;&#x4EE5;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x9009;&#x5219;&#x6570;&#x636E;&#x548C;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;</td>
</tr>
<tr>
<td>E450000</td>
<td>PICKEREX_DROPDOWNVIEW</td>
<td><a href="#&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;&#x89C6;&#x56FE;">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;&#x89C6;&#x56FE;</a></td>
<td>&#x901A;&#x8FC7;&#x8005;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x89C6;&#x56FE;</td>
</tr>
<tr>
<td>E460000</td>
<td>PICKEREX_DROPDOWNVIEW_LINK</td>
<td><a href="#&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;&#x89C6;&#x56FE;,&#x6570;&#x636E;&#x94FE;&#x63A5;">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;&#x89C6;&#x56FE;,&#x6570;&#x636E;&#x94FE;&#x63A5;</a></td>
<td>&#x901A;&#x8FC7;&#x8005;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x89C6;&#x56FE;,&#x5E76;&#x53EF;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;</td>
</tr>
<tr>
<td>E470000</td>
<td>PICKUPVIEW</td>
<td><a href="#&#x6570;&#x636E;&#x9009;&#x62E9;-&#x5D4C;&#x5165;&#x9009;&#x62E9;&#x89C6;&#x56FE;">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x5D4C;&#x5165;&#x9009;&#x62E9;&#x89C6;&#x56FE;</a></td>
<td>&#x5728;&#x9875;&#x9762;&#x4E0A;&#x5D4C;&#x5165;&#x9009;&#x62E9;&#x89C6;&#x56FE;</td>
</tr>
<tr>
<td>E480000</td>
<td>ADDRESSPICKUP</td>
<td><a href="#&#x5730;&#x5740;&#x6846;-&#x9009;&#x62E9;">&#x5730;&#x5740;&#x6846;-&#x9009;&#x62E9;</a></td>
<td>&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x6765;&#x9009;&#x62E9;&#x6570;&#x636E;&#xFF0C;&#x5E76;&#x53EF;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;</td>
</tr>
<tr>
<td>E490000</td>
<td>ADDRESSPICKUP_AC</td>
<td><a href="#page3">&#x5730;&#x5740;&#x6846;-&#x652F;&#x6301;&#x9009;&#x62E9;,AC</a></td>
<td>&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x6765;&#x9009;&#x62E9;&#x6570;&#x636E;&#xFF0C;&#x5E76;&#x53EF;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;</td>
</tr>
</tbody>
</table>
<h2 id="&#x6269;&#x5C55;&#x63D2;&#x4EF6;">&#x6269;&#x5C55;&#x63D2;&#x4EF6;</h2>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x540D;&#x79F0;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E500000</td>
<td><a href="#&#x5355;&#x4F4D;&#x9009;&#x62E9;&#x5668;">&#x5355;&#x4F4D;&#x9009;&#x62E9;&#x5668;</a></td>
<td>&#x57FA;&#x4E8E;&#x6570;&#x636E;&#x9009;&#x62E9;&#x7684;&#x6269;&#x5C55;&#x63D2;&#x4EF6;&#xFF0C;&#x7528;&#x4E8E;&#x5168;&#x90E8;&#x5355;&#x4F4D;&#x6216;&#x4EC5;&#x542B;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x7684;&#x9009;&#x62E9;</td>
</tr>
<tr>
<td>E510000</td>
<td><a href="#&#x90E8;&#x95E8;&#x9009;&#x62E9;&#x5668;">&#x90E8;&#x95E8;&#x9009;&#x62E9;&#x5668;</a></td>
<td>&#x57FA;&#x4E8E;&#x6570;&#x636E;&#x9009;&#x62E9;&#x7684;&#x6269;&#x5C55;&#x63D2;&#x4EF6;&#xFF0C;&#x7528;&#x4E8E;&#x5BF9;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x7684;&#x90E8;&#x95E8;&#x6216;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x90E8;&#x95E8;&#x7684;&#x9009;&#x62E9;</td>
</tr>
<tr>
<td>E520000</td>
<td><a href="#&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;">&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;</a></td>
<td>&#x57FA;&#x4E8E;&#x6570;&#x636E;&#x9009;&#x62E9;&#x7684;&#x6269;&#x5C55;&#x63D2;&#x4EF6;&#xFF0C;&#x7528;&#x4E8E;&#x5BF9;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x5185;&#x7684;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x6216;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;</td>
</tr>
<tr>
<td>E530000</td>
<td><a href="#&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;">&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;</a></td>
<td>&#x57FA;&#x4E8E;&#x6570;&#x636E;&#x9009;&#x62E9;&#x7684;&#x6269;&#x5C55;&#x63D2;&#x4EF6;&#xFF0C;&#x7528;&#x4E8E;&#x5BF9;&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x5185;&#x7684;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x6216;&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x53CA;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;</td>
</tr>
</tbody>
</table>
<h1 id="&#x7F16;&#x8F91;&#x5668;">&#x7F16;&#x8F91;&#x5668;</h1>
<h2 id="&#x6570;&#x636E;&#x9009;&#x62E9;"><a href="https://modelapi.ibizlab.cn/#/net/ibizsys/model/control/editor/IPSPicker" target="_blank">&#x6570;&#x636E;&#x9009;&#x62E9;</a></h2>
<p>&#x901A;&#x8FC7;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6846;&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x652F;&#x6301;&#x8F93;&#x5165;&#x65F6;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x641C;&#x7D22;&#x5217;&#x8868;&#xFF0C;&#x5E76;&#x53EF;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x6765;&#x9009;&#x62E9;&#x6570;&#x636E;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200819103637339.png" alt="image-20200819103637339"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;"><a href="http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7res/blob/master/src/components/app-picker/app-picker.vue" target="_blank">&#x57FA;&#x7840;&#x7528;&#x6CD5;</a></h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E380001</td>
<td>value</td>
<td>&#x8868;&#x5355;&#x503C;&#x53CC;&#x5411;&#x7ED1;&#x5B9A;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E380002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E380003</td>
<td>acParams</td>
<td>AC&#x53C2;&#x6570;</td>
<td>getPSAppDEDataSet()&#x3001;getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380004</td>
<td>service</td>
<td>&#x8868;&#x5355;&#x670D;&#x52A1;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;service&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E380005</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380006</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380007</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E380008</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E380009</td>
<td>showButton</td>
<td>&#x662F;&#x5426;&#x663E;&#x793A;&#x6309;&#x94AE;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x9ED8;&#x8BA4;&#x4E3A;true</td>
</tr>
<tr>
<td>E380010</td>
<td>editortype</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x7C7B;&#x578B;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x9ED8;&#x8BA4;&#x4E3A;&#x7A7A;</td>
</tr>
<tr>
<td>E380011</td>
<td>pickupView</td>
<td>&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380012</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E380013</td>
<td>sort</td>
<td>&#x6392;&#x5E8F;</td>
<td>getPSAppDEACMode()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380014</td>
<td>actionDetails</td>
<td>&#x884C;&#x4E3A;&#x7EC4;</td>
<td>getPSAppDEACMode()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380015</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E380016</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E380017</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380018</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380019</td>
<td>pickUpData</td>
<td>&#x5916;&#x952E;&#x503C;&#x9644;&#x52A0;&#x6570;&#x636E;</td>
<td>getEditorParam(&quot;PICKUPDATA&quot;, &quot;&quot;)</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380020</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E380020</td>
<td>enter</td>
<td>&#x56DE;&#x8F66;&#x4E8B;&#x4EF6;</td>
<td>(event: Event)</td>
</tr>
<tr>
<td>E380021</td>
<td>change</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>(value: string&#xFF09;</td>
</tr>
<tr>
<td>E380022</td>
<td>editoractionclick</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x884C;&#x4E3A;</td>
<td>(arg: Function&#xFF09;</td>
</tr>
<tr>
<td>E380023</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E380003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x548C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x7ED3;&#x679C;&#x96C6;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E380005</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E380006</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E380011</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E380013</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x81EA;&#x586B;&#x6A21;&#x5F0F;&#x5BF9;&#x8C61;&#x7684;&#x9644;&#x52A0;&#x6392;&#x5E8F;&#x5C5E;&#x6027;&#x548C;&#x9644;&#x52A0;&#x6392;&#x5E8F;&#x65B9;&#x5411;</td>
</tr>
<tr>
<td>E380014</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x81EA;&#x586B;&#x6A21;&#x5F0F;&#x5BF9;&#x8C61;&#x7684;&#x754C;&#x9762;&#x884C;&#x4E3A;&#x7EC4;</td>
</tr>
<tr>
<td>E380017</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E380018</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E380019</td>
<td>&#x4F7F;&#x7528;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x914D;&#x7F6E;&#x5916;&#x952E;&#x503C;&#x7684;&#x9644;&#x52A0;&#x6570;&#x636E;&#xFF0C;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;PICKUPDATA=param1;param2&#x3002;&#x5176;&#x4E2D;param1&#x548C;param2&#x5206;&#x522B;&#x4E3A;&#x60F3;&#x8981;&#x629B;&#x51FA;&#x7684;&#x9644;&#x52A0;&#x6570;&#x636E;&#x5B57;&#x6BB5;&#x540D;(&#x5B9E;&#x4F53;&#x5C5E;&#x6027;&#x540D;),&#x5F53;&#x8981;&#x629B;&#x51FA;&#x591A;&#x4E2A;&#x9644;&#x52A0;&#x6570;&#x636E;&#x65F6;&#xFF0C;&#x4E2D;&#x95F4;&#x4F7F;&#x7528;&#x82F1;&#x6587; ; &#x9694;&#x5F00;&#x3002;&#x5E76;&#x4E14;&#x8868;&#x5355;&#x9879;&#x540D;&#x5FC5;&#x987B;&#x548C;&#x9644;&#x52A0;&#x6570;&#x636E;&#x5B57;&#x6BB5;&#x540D;&#x4E00;&#x81F4;&#x3002;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x521D;&#x59CB;&#x5316;&#x548C;&#x76D1;&#x63A7;&#x503C;&#x53D8;&#x5316;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x5C55;&#x793A;&#x3002;&#x521D;&#x59CB;&#x5316;&#x65F6;&#x76F4;&#x63A5;&#x5C06;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;&#xFF0C;&#x503C;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x5C06;&#x65B0;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;(&#x8BE5;&#x7F16;&#x8F91;&#x5668;editortype&#x4E3A;&#x7A7A;)&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> curvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;

    <span class="hljs-keyword">public</span> created() {
        <span class="hljs-keyword">if</span>(!<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;pickup-no-ac&apos;</span>) &amp;&amp; !<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>)){
            <span class="hljs-keyword">this</span>.curvalue = <span class="hljs-keyword">this</span>.value;
        }
    }

    @Watch(<span class="hljs-string">&apos;value&apos;</span>,{immediate:<span class="hljs-literal">true</span>})
    <span class="hljs-keyword">public</span> onValueChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">this</span>.curvalue = newVal;
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>) &amp;&amp; <span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">const</span> value = <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem];
            <span class="hljs-keyword">const</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item.value, value));
            <span class="hljs-keyword">if</span> (index !== <span class="hljs-number">-1</span>) {
                <span class="hljs-keyword">return</span>;
            }
            <span class="hljs-keyword">this</span>.items = [];
            <span class="hljs-keyword">if</span> (value) {
                <span class="hljs-keyword">this</span>.items.push({text: newVal, value: value});
            }
            <span class="hljs-keyword">this</span>.onSearch(newVal, <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>);
        }
    }
</code></pre>
<p>2.&#x5728;&#x8F93;&#x5165;&#x6846;&#x4E2D;&#x8F93;&#x5165;&#x65F6;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x72B6;&#x6001;&#x6539;&#x4E3A;true;&#x8F93;&#x5165;&#x6846;&#x5931;&#x53BB;&#x7126;&#x70B9;&#x65F6;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;&#xFF1B;&#x70B9;&#x51FB;&#x6E05;&#x9664;&#x6570;&#x636E;&#x56FE;&#x6807;&#x65F6;&#xFF0C;&#x629B;&#x51FA;formitemvaluechange&#x4E8B;&#x4EF6;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x8F93;&#x5165;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x72B6;&#x6001;&#x6539;&#x4E3A;true</span>
    <span class="hljs-keyword">public</span> onInput($event: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is($event, <span class="hljs-keyword">this</span>.value)) {
            <span class="hljs-keyword">this</span>.inputState = <span class="hljs-literal">true</span>;
        }
    }
    <span class="hljs-comment">//&#x5931;&#x53BB;&#x7126;&#x70B9;&#x65F6;&#xFF0C;&#x5C06;&#x8868;&#x5355;&#x9879;&#x503C;&#x586B;&#x5165;&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> onBlur(e: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">this</span>.curvalue = <span class="hljs-keyword">this</span>.value;
    }
    <span class="hljs-comment">//&#x6E05;&#x9664;</span>
    <span class="hljs-keyword">public</span> onClear($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">this</span>.fillPickUpData();
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>3.&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x7684;&#x83B7;&#x53D6;&#xFF0C;&#x901A;&#x8FC7;callback&#x6765;&#x8FD4;&#x56DE;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x4E0B;&#x62C9;&#x6570;&#x7EC4;</span>
    <span class="hljs-keyword">public</span> items: <span class="hljs-built_in">any</span>[] = [];

    <span class="hljs-keyword">public</span> onSearch(query: <span class="hljs-built_in">any</span>, callback: <span class="hljs-built_in">any</span>, other: <span class="hljs-built_in">boolean</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x5904;&#x7406;&#x641C;&#x7D22;&#x53C2;&#x6570;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        query = !query ? <span class="hljs-string">&apos;&apos;</span> : query;
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.inputState &amp;&amp; other &amp;&amp; <span class="hljs-built_in">Object</span>.is(query, <span class="hljs-keyword">this</span>.value)) {
            query = <span class="hljs-string">&apos;&apos;</span>;
        }
        <span class="hljs-keyword">this</span>.inputState = <span class="hljs-literal">false</span>;
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.sort &amp;&amp; !<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.sort, <span class="hljs-string">&quot;&quot;</span>)) {
            <span class="hljs-built_in">Object</span>.assign(_param, { sort: <span class="hljs-keyword">this</span>.sort });
        }
        <span class="hljs-built_in">Object</span>.assign(_param, { query: query, size: <span class="hljs-number">1000</span> });
        <span class="hljs-comment">// &#x9519;&#x8BEF;&#x4FE1;&#x606F;&#x56FD;&#x9645;&#x5316;</span>
        <span class="hljs-keyword">let</span> error: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.error&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> miss: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.miss&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> requestException: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.requestException&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.service){
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;service&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.serviceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;serviceName&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.interfaceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;interfaceName&apos;</span> });
        } <span class="hljs-keyword">else</span> {
          <span class="hljs-keyword">this</span>.service.getItems(<span class="hljs-keyword">this</span>.acParams.serviceName,<span class="hljs-keyword">this</span>.acParams.interfaceName, _context, _param).then((response: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (!response) {
                  <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: requestException });
              } <span class="hljs-keyword">else</span> {
                  <span class="hljs-keyword">this</span>.items = [...response];
              }
             <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.acParams &amp;&amp; <span class="hljs-keyword">this</span>.actionDetails &amp;&amp; <span class="hljs-keyword">this</span>.actionDetails.length &gt;<span class="hljs-number">0</span>){
                  <span class="hljs-keyword">this</span>.items = [...this.items,...this.actionDetails];
              }
              <span class="hljs-keyword">if</span> (callback) {
                  callback(<span class="hljs-keyword">this</span>.items);
              }
          }).catch((error: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (callback) {
                  callback([]);
              }
          });
        } 
    }
</code></pre>
<p>4.&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x9009;&#x4E2D;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onACSelect(item: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">this</span>.selectValue = item[<span class="hljs-keyword">this</span>.deMajorField];
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: item[<span class="hljs-keyword">this</span>.deKeyField] });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: item[<span class="hljs-keyword">this</span>.deMajorField] });
        }
        <span class="hljs-keyword">this</span>.fillPickUpData(item);
    }
</code></pre>
<p>5.&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#xFF0C;&#x6839;&#x636E;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;pickupView&#x6765;&#x5224;&#x65AD;&#x6253;&#x5F00;&#x89C6;&#x56FE;&#x65B9;&#x5F0F;&#xFF0C;&#x5E76;&#x5C06;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#x548C;&#x9009;&#x4E2D;&#x9879;&#x6570;&#x636E;&#x96C6;&#x4F20;&#x5165;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openView($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.disabled) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">const</span> view = { ...this.pickupView };
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        _param.selectedData = [{srfkey: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem], srfmajortext: <span class="hljs-keyword">this</span>.curvalue }];
        <span class="hljs-comment">// &#x5224;&#x65AD;&#x6253;&#x5F00;&#x65B9;&#x5F0F;</span>
        <span class="hljs-keyword">if</span> (view.placement &amp;&amp; !<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;&apos;</span>)) {
            <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPOVER&apos;</span>)) {
                <span class="hljs-comment">//&#x6C14;&#x6CE1;&#x5361;&#x7247;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
                <span class="hljs-keyword">this</span>.openPopOver($event, view, _context, _param);
            } <span class="hljs-keyword">else</span> {
                <span class="hljs-comment">//&#x62BD;&#x5C49;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
                <span class="hljs-keyword">this</span>.openDrawer(view, _context, _param);
            }
        } <span class="hljs-keyword">else</span> {
            <span class="hljs-comment">//&#x6A21;&#x6001;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
            <span class="hljs-keyword">this</span>.openPopupModal(view, _context, _param);
        }

    }
</code></pre>
<p>6.&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x5173;&#x95ED;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openViewClose(result: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> item: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">if</span> (result.datas &amp;&amp; <span class="hljs-built_in">Array</span>.isArray(result.datas)) {
            <span class="hljs-built_in">Object</span>.assign(item, result.datas[<span class="hljs-number">0</span>]);
        }

        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.data) {
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: item[<span class="hljs-keyword">this</span>.deKeyField]?item[<span class="hljs-keyword">this</span>.deKeyField]:item[<span class="hljs-string">&quot;srfkey&quot;</span>] });
            }
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: item[<span class="hljs-keyword">this</span>.deMajorField]?item[<span class="hljs-keyword">this</span>.deMajorField]:item[<span class="hljs-string">&quot;srfmajortext&quot;</span>] });
            }
            <span class="hljs-keyword">this</span>.fillPickUpData(item);
        }
    }
</code></pre>
<p>7.&#x5982;&#x679C;&#x914D;&#x7F6E;&#x7684;&#x5916;&#x952E;&#x9644;&#x52A0;&#x6570;&#x636E;&#xFF0C;&#x5219;&#x4F1A;&#x5728;&#x9009;&#x4E2D;&#x6570;&#x636E;&#x548C;&#x6E05;&#x9664;&#x6570;&#x636E;&#x65F6;&#xFF0C;&#x5C06;&#x5916;&#x952E;&#x9644;&#x52A0;&#x6570;&#x636E;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">/**
     * &#x5916;&#x952E;&#x503C;&#x9644;&#x52A0;&#x6570;&#x636E;
     *
     * @type {*}
     * @memberof AppPicker
     */</span>
    @Prop() <span class="hljs-keyword">public</span> pickUpData?: <span class="hljs-built_in">string</span>;

    <span class="hljs-comment">/**
     * &#x586B;&#x5145;&#x5916;&#x952E;&#x503C;&#x9644;&#x52A0;&#x6570;&#x636E;
     *
     * @param {item} &#x6570;&#x636E;&#x96C6;
     * @memberof AppPicker
     */</span>
    <span class="hljs-keyword">public</span> fillPickUpData(item?:<span class="hljs-built_in">any</span>){
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.pickUpData){
            <span class="hljs-keyword">let</span> pickUpDataArray:<span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = <span class="hljs-keyword">this</span>.pickUpData.split(<span class="hljs-string">&quot;;&quot;</span>)
            <span class="hljs-keyword">if</span>(pickUpDataArray &amp;&amp; pickUpDataArray.length &gt;<span class="hljs-number">0</span>){
                <span class="hljs-keyword">for</span>(<span class="hljs-keyword">let</span> i=<span class="hljs-number">0</span>;i&lt;pickUpDataArray.length;i++){
                <span class="hljs-keyword">if</span>(item){
                        <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&quot;formitemvaluechange&quot;</span>, {
                            name: pickUpDataArray[i],
                            value: item[pickUpDataArray[i]],
                        });
                }<span class="hljs-keyword">else</span>{
                        <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&quot;formitemvaluechange&quot;</span>, {
                            name: pickUpDataArray[i],
                            value: <span class="hljs-string">&quot;&quot;</span>,
                        });
                }
                }
            }
        }
    }
</code></pre>
<h3 id="&#x63D2;&#x4EF6;&#x6269;&#x5C55;">&#x63D2;&#x4EF6;&#x6269;&#x5C55;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E500000</td>
<td><a href="#&#x5355;&#x4F4D;&#x9009;&#x62E9;&#x5668;">&#x5355;&#x4F4D;&#x9009;&#x62E9;&#x5668;</a></td>
<td>&#x7528;&#x4E8E;&#x5168;&#x90E8;&#x5355;&#x4F4D;&#x6216;&#x4EC5;&#x542B;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x7684;&#x9009;&#x62E9;</td>
</tr>
<tr>
<td>E510000</td>
<td><a href="#&#x90E8;&#x95E8;&#x9009;&#x62E9;&#x5668;">&#x90E8;&#x95E8;&#x9009;&#x62E9;&#x5668;</a></td>
<td>&#x7528;&#x4E8E;&#x5BF9;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x7684;&#x90E8;&#x95E8;&#x6216;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x90E8;&#x95E8;&#x7684;&#x9009;&#x62E9;</td>
</tr>
<tr>
<td>E520000</td>
<td><a href="#&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;">&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;</a></td>
<td>&#x7528;&#x4E8E;&#x5BF9;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x5185;&#x7684;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x6216;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;</td>
</tr>
<tr>
<td>E530000</td>
<td><a href="#&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;">&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;</a></td>
<td>&#x7528;&#x4E8E;&#x5BF9;&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x5185;&#x7684;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x6216;&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x53CA;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;</td>
</tr>
</tbody>
</table>
<h2 id="&#x6570;&#x636E;&#x9009;&#x62E9;-&#x6570;&#x636E;&#x94FE;&#x63A5;"><a href="https://modelapi.ibizlab.cn/#/net/ibizsys/model/control/editor/IPSPicker" target="_blank">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x6570;&#x636E;&#x94FE;&#x63A5;</a></h2>
<p>&#x901A;&#x8FC7;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6846;&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x652F;&#x6301;&#x8F93;&#x5165;&#x65F6;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x641C;&#x7D22;&#x5217;&#x8868;,&#x5E76;&#x53EF;&#x4EE5;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x9009;&#x5219;&#x6570;&#x636E;&#x548C;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200819142556148.png" alt="image-20200819142556148"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;"><a href="http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7res/blob/master/src/components/app-picker/app-picker.vue" target="_blank">&#x57FA;&#x7840;&#x7528;&#x6CD5;</a></h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E380001</td>
<td>value</td>
<td>&#x8868;&#x5355;&#x503C;&#x53CC;&#x5411;&#x7ED1;&#x5B9A;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E380002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E380003</td>
<td>acParams</td>
<td>AC&#x53C2;&#x6570;</td>
<td>getPSAppDEDataSet()&#x3001;getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380004</td>
<td>service</td>
<td>&#x8868;&#x5355;&#x670D;&#x52A1;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;service&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E380005</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380006</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380007</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E380008</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E380009</td>
<td>showButton</td>
<td>&#x662F;&#x5426;&#x663E;&#x793A;&#x6309;&#x94AE;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x9ED8;&#x8BA4;&#x4E3A;true</td>
</tr>
<tr>
<td>E380010</td>
<td>editortype</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x7C7B;&#x578B;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x9ED8;&#x8BA4;&#x4E3A;&#x7A7A;</td>
</tr>
<tr>
<td>E380011</td>
<td>pickupView</td>
<td>&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380012</td>
<td>linkview</td>
<td>&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getLinkPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380013</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E380014</td>
<td>sort</td>
<td>&#x6392;&#x5E8F;</td>
<td>getPSAppDEACMode()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380015</td>
<td>actionDetails</td>
<td>&#x884C;&#x4E3A;&#x7EC4;</td>
<td>getPSAppDEACMode()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380016</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E380017</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E380018</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380019</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E380020</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E380021</td>
<td>enter</td>
<td>&#x56DE;&#x8F66;&#x4E8B;&#x4EF6;</td>
<td>(event: Event)</td>
</tr>
<tr>
<td>E380022</td>
<td>change</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>(value: string&#xFF09;</td>
</tr>
<tr>
<td>E380023</td>
<td>editoractionclick</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x884C;&#x4E3A;</td>
<td>(arg: Function&#xFF09;</td>
</tr>
<tr>
<td>E380024</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E380003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x548C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x7ED3;&#x679C;&#x96C6;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E380005</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E380006</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E380011</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E380012</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x6570;&#x636E;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E380014</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x81EA;&#x586B;&#x6A21;&#x5F0F;&#x5BF9;&#x8C61;&#x7684;&#x9644;&#x52A0;&#x6392;&#x5E8F;&#x5C5E;&#x6027;&#x548C;&#x9644;&#x52A0;&#x6392;&#x5E8F;&#x65B9;&#x5411;</td>
</tr>
<tr>
<td>E380015</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x81EA;&#x586B;&#x6A21;&#x5F0F;&#x5BF9;&#x8C61;&#x7684;&#x754C;&#x9762;&#x884C;&#x4E3A;&#x7EC4;</td>
</tr>
<tr>
<td>E380018</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E380019</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x521D;&#x59CB;&#x5316;&#x548C;&#x76D1;&#x63A7;&#x503C;&#x53D8;&#x5316;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x5C55;&#x793A;&#x3002;&#x521D;&#x59CB;&#x5316;&#x65F6;&#x76F4;&#x63A5;&#x5C06;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;&#xFF0C;&#x503C;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x5C06;&#x65B0;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;(&#x8BE5;&#x7F16;&#x8F91;&#x5668;editortype&#x4E3A;&#x7A7A;)&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> curvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;

    <span class="hljs-keyword">public</span> created() {
        <span class="hljs-keyword">if</span>(!<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;pickup-no-ac&apos;</span>) &amp;&amp; !<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>)){
            <span class="hljs-keyword">this</span>.curvalue = <span class="hljs-keyword">this</span>.value;
        }
    }

    @Watch(<span class="hljs-string">&apos;value&apos;</span>,{immediate:<span class="hljs-literal">true</span>})
    <span class="hljs-keyword">public</span> onValueChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">this</span>.curvalue = newVal;
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>) &amp;&amp; <span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">const</span> value = <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem];
            <span class="hljs-keyword">const</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item.value, value));
            <span class="hljs-keyword">if</span> (index !== <span class="hljs-number">-1</span>) {
                <span class="hljs-keyword">return</span>;
            }
            <span class="hljs-keyword">this</span>.items = [];
            <span class="hljs-keyword">if</span> (value) {
                <span class="hljs-keyword">this</span>.items.push({text: newVal, value: value});
            }
            <span class="hljs-keyword">this</span>.onSearch(newVal, <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>);
        }
    }
</code></pre>
<p>2.&#x5728;&#x8F93;&#x5165;&#x6846;&#x4E2D;&#x8F93;&#x5165;&#x65F6;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x72B6;&#x6001;&#x6539;&#x4E3A;true;&#x8F93;&#x5165;&#x6846;&#x5931;&#x53BB;&#x7126;&#x70B9;&#x65F6;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;&#xFF1B;&#x70B9;&#x51FB;&#x6E05;&#x9664;&#x6570;&#x636E;&#x56FE;&#x6807;&#x65F6;&#xFF0C;&#x629B;&#x51FA;formitemvaluechange&#x4E8B;&#x4EF6;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x8F93;&#x5165;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x72B6;&#x6001;&#x6539;&#x4E3A;true</span>
    <span class="hljs-keyword">public</span> onInput($event: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is($event, <span class="hljs-keyword">this</span>.value)) {
            <span class="hljs-keyword">this</span>.inputState = <span class="hljs-literal">true</span>;
        }
    }
    <span class="hljs-comment">//&#x5931;&#x53BB;&#x7126;&#x70B9;&#x65F6;&#xFF0C;&#x5C06;&#x8868;&#x5355;&#x9879;&#x503C;&#x586B;&#x5165;&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> onBlur(e: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">this</span>.curvalue = <span class="hljs-keyword">this</span>.value;
    }
    <span class="hljs-comment">//&#x6E05;&#x9664;</span>
    <span class="hljs-keyword">public</span> onClear($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">this</span>.fillPickUpData();
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>3.&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x7684;&#x83B7;&#x53D6;&#xFF0C;&#x901A;&#x8FC7;callback&#x6765;&#x8FD4;&#x56DE;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x4E0B;&#x62C9;&#x6570;&#x7EC4;</span>
    <span class="hljs-keyword">public</span> items: <span class="hljs-built_in">any</span>[] = [];

    <span class="hljs-keyword">public</span> onSearch(query: <span class="hljs-built_in">any</span>, callback: <span class="hljs-built_in">any</span>, other: <span class="hljs-built_in">boolean</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x5904;&#x7406;&#x641C;&#x7D22;&#x53C2;&#x6570;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        query = !query ? <span class="hljs-string">&apos;&apos;</span> : query;
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.inputState &amp;&amp; other &amp;&amp; <span class="hljs-built_in">Object</span>.is(query, <span class="hljs-keyword">this</span>.value)) {
            query = <span class="hljs-string">&apos;&apos;</span>;
        }
        <span class="hljs-keyword">this</span>.inputState = <span class="hljs-literal">false</span>;
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.sort &amp;&amp; !<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.sort, <span class="hljs-string">&quot;&quot;</span>)) {
            <span class="hljs-built_in">Object</span>.assign(_param, { sort: <span class="hljs-keyword">this</span>.sort });
        }
        <span class="hljs-built_in">Object</span>.assign(_param, { query: query, size: <span class="hljs-number">1000</span> });
        <span class="hljs-comment">// &#x9519;&#x8BEF;&#x4FE1;&#x606F;&#x56FD;&#x9645;&#x5316;</span>
        <span class="hljs-keyword">let</span> error: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.error&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> miss: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.miss&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> requestException: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.requestException&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.service){
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;service&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.serviceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;serviceName&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.interfaceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;interfaceName&apos;</span> });
        } <span class="hljs-keyword">else</span> {
          <span class="hljs-keyword">this</span>.service.getItems(<span class="hljs-keyword">this</span>.acParams.serviceName,<span class="hljs-keyword">this</span>.acParams.interfaceName, _context, _param).then((response: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (!response) {
                  <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: requestException });
              } <span class="hljs-keyword">else</span> {
                  <span class="hljs-keyword">this</span>.items = [...response];
              }
             <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.acParams &amp;&amp; <span class="hljs-keyword">this</span>.actionDetails &amp;&amp; <span class="hljs-keyword">this</span>.actionDetails.length &gt;<span class="hljs-number">0</span>){
                  <span class="hljs-keyword">this</span>.items = [...this.items,...this.actionDetails];
              }
              <span class="hljs-keyword">if</span> (callback) {
                  callback(<span class="hljs-keyword">this</span>.items);
              }
          }).catch((error: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (callback) {
                  callback([]);
              }
          });
        } 
    }
</code></pre>
<p>4.&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x9009;&#x4E2D;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onACSelect(item: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">this</span>.selectValue = item[<span class="hljs-keyword">this</span>.deMajorField];
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: item[<span class="hljs-keyword">this</span>.deKeyField] });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: item[<span class="hljs-keyword">this</span>.deMajorField] });
        }
    }
</code></pre>
<p>5.&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#xFF0C;&#x6839;&#x636E;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;pickupView&#x6765;&#x5224;&#x65AD;&#x6253;&#x5F00;&#x89C6;&#x56FE;&#x65B9;&#x5F0F;&#xFF0C;&#x5E76;&#x5C06;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#x548C;&#x9009;&#x4E2D;&#x9879;&#x6570;&#x636E;&#x96C6;&#x4F20;&#x5165;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openView($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.disabled) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">const</span> view = { ...this.pickupView };
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        _param.selectedData = [{srfkey: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem], srfmajortext: <span class="hljs-keyword">this</span>.curvalue }];
        <span class="hljs-comment">// &#x5224;&#x65AD;&#x6253;&#x5F00;&#x65B9;&#x5F0F;</span>
        <span class="hljs-keyword">if</span> (view.placement &amp;&amp; !<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;&apos;</span>)) {
            <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPOVER&apos;</span>)) {
                <span class="hljs-comment">//&#x6C14;&#x6CE1;&#x5361;&#x7247;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
                <span class="hljs-keyword">this</span>.openPopOver($event, view, _context, _param);
            } <span class="hljs-keyword">else</span> {
                <span class="hljs-comment">//&#x62BD;&#x5C49;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
                <span class="hljs-keyword">this</span>.openDrawer(view, _context, _param);
            }
        } <span class="hljs-keyword">else</span> {
            <span class="hljs-comment">//&#x6A21;&#x6001;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
            <span class="hljs-keyword">this</span>.openPopupModal(view, _context, _param);
        }

    }
</code></pre>
<p>6.&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#xFF0C;&#x6839;&#x636E;&#x6570;&#x636E;&#x94FE;&#x63A5;&#x53C2;&#x6570;&#x6765;&#x5224;&#x65AD;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x7684;&#x65B9;&#x5F0F;&#xFF0C;&#x5E76;&#x5C06;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#x548C;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#x4F20;&#x5165;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openLinkView($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.data || !<span class="hljs-keyword">this</span>.valueitem || !<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem]) {
            <span class="hljs-built_in">console</span>.error({ title: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.error&apos;</span>) as <span class="hljs-built_in">any</span>), desc: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.valueitemException&apos;</span>) as <span class="hljs-built_in">any</span>) });
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        <span class="hljs-built_in">Object</span>.assign(_context, { [<span class="hljs-keyword">this</span>.deKeyField]: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem] });
        <span class="hljs-keyword">const</span> view = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.linkview));
        <span class="hljs-keyword">const</span> viewname2: <span class="hljs-built_in">string</span> = <span class="hljs-keyword">this</span>.$util.srfFilePath2(view.viewname);
        view.viewname = viewname2;

        <span class="hljs-keyword">if</span> (view.isRedirectView) {
            <span class="hljs-keyword">this</span>.openRedirectView($event, view, data);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;INDEXVIEWTAB&apos;</span>) || <span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openIndexViewTab(view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPOVER&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openPopOver($event, view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPUPMODAL&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openPopupModal(view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (view.placement.startsWith(<span class="hljs-string">&apos;DRAWER&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openDrawer(view, _context, _param);
        }
    }
</code></pre>
<p>7.&#x6253;&#x5F00;&#x89C6;&#x56FE;&#x5173;&#x95ED;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openViewClose(result: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> item: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">if</span> (result.datas &amp;&amp; <span class="hljs-built_in">Array</span>.isArray(result.datas)) {
            <span class="hljs-built_in">Object</span>.assign(item, result.datas[<span class="hljs-number">0</span>]);
        }

        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.data) {
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: item[<span class="hljs-keyword">this</span>.deKeyField]?item[<span class="hljs-keyword">this</span>.deKeyField]:item[<span class="hljs-string">&quot;srfkey&quot;</span>] });
            }
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: item[<span class="hljs-keyword">this</span>.deMajorField]?item[<span class="hljs-keyword">this</span>.deMajorField]:item[<span class="hljs-string">&quot;srfmajortext&quot;</span>] });
            }
        }
    }
</code></pre>
<h2 id="&#x6570;&#x636E;&#x9009;&#x62E9;-&#x65E0;&#x6309;&#x94AE;"><a href="https://modelapi.ibizlab.cn/#/net/ibizsys/model/control/editor/IPSPicker" target="_blank">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x65E0;&#x6309;&#x94AE;</a></h2>
<p>&#x901A;&#x8FC7;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6846;&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x652F;&#x6301;&#x8F93;&#x5165;&#x65F6;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x641C;&#x7D22;&#x5217;&#x8868;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200819151106889.png" alt="image-20200819151106889"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;"><a href="http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7res/blob/master/src/components/app-picker/app-picker.vue" target="_blank">&#x57FA;&#x7840;&#x7528;&#x6CD5;</a></h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E400001</td>
<td>value</td>
<td>&#x8868;&#x5355;&#x503C;&#x53CC;&#x5411;&#x7ED1;&#x5B9A;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E400002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E400003</td>
<td>acParams</td>
<td>AC&#x53C2;&#x6570;</td>
<td>getPSAppDEDataSet()&#x3001;getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E400004</td>
<td>service</td>
<td>&#x8868;&#x5355;&#x670D;&#x52A1;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;service&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E400005</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E400006</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E400007</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E400008</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E400009</td>
<td>showButton</td>
<td>&#x662F;&#x5426;&#x663E;&#x793A;&#x6309;&#x94AE;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x9ED8;&#x8BA4;&#x4E3A;false</td>
</tr>
<tr>
<td>E400010</td>
<td>editortype</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x7C7B;&#x578B;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x9ED8;&#x8BA4;&#x4E3A;&#x7A7A;</td>
</tr>
<tr>
<td>E400011</td>
<td>pickupView</td>
<td>&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E400012</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E400013</td>
<td>sort</td>
<td>&#x6392;&#x5E8F;</td>
<td>getPSAppDEACMode()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E400014</td>
<td>actionDetails</td>
<td>&#x884C;&#x4E3A;&#x7EC4;</td>
<td>getPSAppDEACMode()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E400015</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E400016</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E400017</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E400018</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E400019</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E400020</td>
<td>enter</td>
<td>&#x56DE;&#x8F66;&#x4E8B;&#x4EF6;</td>
<td>(event: Event)</td>
</tr>
<tr>
<td>E400021</td>
<td>change</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>(value: string&#xFF09;</td>
</tr>
<tr>
<td>E400022</td>
<td>editoractionclick</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x884C;&#x4E3A;</td>
<td>(arg: Function&#xFF09;</td>
</tr>
<tr>
<td>E400023</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E400003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x548C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x7ED3;&#x679C;&#x96C6;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E400005</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E400006</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E400011</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E400013</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x81EA;&#x586B;&#x6A21;&#x5F0F;&#x5BF9;&#x8C61;&#x7684;&#x9644;&#x52A0;&#x6392;&#x5E8F;&#x5C5E;&#x6027;&#x548C;&#x9644;&#x52A0;&#x6392;&#x5E8F;&#x65B9;&#x5411;</td>
</tr>
<tr>
<td>E400014</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x81EA;&#x586B;&#x6A21;&#x5F0F;&#x5BF9;&#x8C61;&#x7684;&#x754C;&#x9762;&#x884C;&#x4E3A;&#x7EC4;</td>
</tr>
<tr>
<td>E400017</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E400018</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x521D;&#x59CB;&#x5316;&#x548C;&#x76D1;&#x63A7;&#x503C;&#x53D8;&#x5316;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x5C55;&#x793A;&#x3002;&#x521D;&#x59CB;&#x5316;&#x65F6;&#x76F4;&#x63A5;&#x5C06;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;&#xFF0C;&#x503C;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x5C06;&#x65B0;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;(&#x8BE5;&#x7F16;&#x8F91;&#x5668;editortype&#x4E3A;&#x7A7A;)&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> curvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;

    <span class="hljs-keyword">public</span> created() {
        <span class="hljs-keyword">if</span>(!<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;pickup-no-ac&apos;</span>) &amp;&amp; !<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>)){
            <span class="hljs-keyword">this</span>.curvalue = <span class="hljs-keyword">this</span>.value;
        }
    }

    @Watch(<span class="hljs-string">&apos;value&apos;</span>,{immediate:<span class="hljs-literal">true</span>})
    <span class="hljs-keyword">public</span> onValueChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">this</span>.curvalue = newVal;
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>) &amp;&amp; <span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">const</span> value = <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem];
            <span class="hljs-keyword">const</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item.value, value));
            <span class="hljs-keyword">if</span> (index !== <span class="hljs-number">-1</span>) {
                <span class="hljs-keyword">return</span>;
            }
            <span class="hljs-keyword">this</span>.items = [];
            <span class="hljs-keyword">if</span> (value) {
                <span class="hljs-keyword">this</span>.items.push({text: newVal, value: value});
            }
            <span class="hljs-keyword">this</span>.onSearch(newVal, <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>);
        }
    }
</code></pre>
<p>2.&#x5728;&#x8F93;&#x5165;&#x6846;&#x4E2D;&#x8F93;&#x5165;&#x65F6;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x72B6;&#x6001;&#x6539;&#x4E3A;true;&#x8F93;&#x5165;&#x6846;&#x5931;&#x53BB;&#x7126;&#x70B9;&#x65F6;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;&#xFF1B;&#x70B9;&#x51FB;&#x6E05;&#x9664;&#x6570;&#x636E;&#x56FE;&#x6807;&#x65F6;&#xFF0C;&#x629B;&#x51FA;formitemvaluechange&#x4E8B;&#x4EF6;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x8F93;&#x5165;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x72B6;&#x6001;&#x6539;&#x4E3A;true</span>
    <span class="hljs-keyword">public</span> onInput($event: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is($event, <span class="hljs-keyword">this</span>.value)) {
            <span class="hljs-keyword">this</span>.inputState = <span class="hljs-literal">true</span>;
        }
    }
    <span class="hljs-comment">//&#x5931;&#x53BB;&#x7126;&#x70B9;&#x65F6;&#xFF0C;&#x5C06;&#x8868;&#x5355;&#x9879;&#x503C;&#x586B;&#x5165;&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> onBlur(e: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">this</span>.curvalue = <span class="hljs-keyword">this</span>.value;
    }
    <span class="hljs-comment">//&#x6E05;&#x9664;</span>
    <span class="hljs-keyword">public</span> onClear($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">this</span>.fillPickUpData();
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>3.&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x7684;&#x83B7;&#x53D6;&#xFF0C;&#x901A;&#x8FC7;callback&#x6765;&#x8FD4;&#x56DE;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x4E0B;&#x62C9;&#x6570;&#x7EC4;</span>
    <span class="hljs-keyword">public</span> items: <span class="hljs-built_in">any</span>[] = [];

    <span class="hljs-keyword">public</span> onSearch(query: <span class="hljs-built_in">any</span>, callback: <span class="hljs-built_in">any</span>, other: <span class="hljs-built_in">boolean</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x5904;&#x7406;&#x641C;&#x7D22;&#x53C2;&#x6570;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        query = !query ? <span class="hljs-string">&apos;&apos;</span> : query;
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.inputState &amp;&amp; other &amp;&amp; <span class="hljs-built_in">Object</span>.is(query, <span class="hljs-keyword">this</span>.value)) {
            query = <span class="hljs-string">&apos;&apos;</span>;
        }
        <span class="hljs-keyword">this</span>.inputState = <span class="hljs-literal">false</span>;
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.sort &amp;&amp; !<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.sort, <span class="hljs-string">&quot;&quot;</span>)) {
            <span class="hljs-built_in">Object</span>.assign(_param, { sort: <span class="hljs-keyword">this</span>.sort });
        }
        <span class="hljs-built_in">Object</span>.assign(_param, { query: query, size: <span class="hljs-number">1000</span> });
        <span class="hljs-comment">// &#x9519;&#x8BEF;&#x4FE1;&#x606F;&#x56FD;&#x9645;&#x5316;</span>
        <span class="hljs-keyword">let</span> error: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.error&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> miss: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.miss&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> requestException: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.requestException&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.service){
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;service&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.serviceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;serviceName&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.interfaceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;interfaceName&apos;</span> });
        } <span class="hljs-keyword">else</span> {
          <span class="hljs-keyword">this</span>.service.getItems(<span class="hljs-keyword">this</span>.acParams.serviceName,<span class="hljs-keyword">this</span>.acParams.interfaceName, _context, _param).then((response: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (!response) {
                  <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: requestException });
              } <span class="hljs-keyword">else</span> {
                  <span class="hljs-keyword">this</span>.items = [...response];
              }
             <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.acParams &amp;&amp; <span class="hljs-keyword">this</span>.actionDetails &amp;&amp; <span class="hljs-keyword">this</span>.actionDetails.length &gt;<span class="hljs-number">0</span>){
                  <span class="hljs-keyword">this</span>.items = [...this.items,...this.actionDetails];
              }
              <span class="hljs-keyword">if</span> (callback) {
                  callback(<span class="hljs-keyword">this</span>.items);
              }
          }).catch((error: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (callback) {
                  callback([]);
              }
          });
        } 
    }
</code></pre>
<p>4.&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x9009;&#x4E2D;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onACSelect(item: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">this</span>.selectValue = item[<span class="hljs-keyword">this</span>.deMajorField];
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: item[<span class="hljs-keyword">this</span>.deKeyField] });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: item[<span class="hljs-keyword">this</span>.deMajorField] });
        }
    }
</code></pre>
<h2 id="&#x6570;&#x636E;&#x9009;&#x62E9;-&#x65E0;ac"><a href="https://modelapi.ibizlab.cn/#/net/ibizsys/model/control/editor/IPSPicker" target="_blank">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x65E0;AC</a><div id="page1"></div></h2>
<p>&#x901A;&#x8FC7;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x9009;&#x62E9;&#x6570;&#x636E;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200819150614192.png" alt="image-20200819150614192"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;"><a href="http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7res/blob/master/src/components/app-picker/app-picker.vue" target="_blank">&#x57FA;&#x7840;&#x7528;&#x6CD5;</a></h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E410001</td>
<td>value</td>
<td>&#x8868;&#x5355;&#x503C;&#x53CC;&#x5411;&#x7ED1;&#x5B9A;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E410002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E410003</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E410004</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E410005</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E410006</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E410007</td>
<td>editortype</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x7C7B;&#x578B;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x9ED8;&#x8BA4;&#x4E3A;pickup-no-ac</td>
</tr>
<tr>
<td>E410008</td>
<td>pickupView</td>
<td>&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E410009</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E410010</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E410011</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E410012</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E410013</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E410014</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E410016</td>
<td>enter</td>
<td>&#x56DE;&#x8F66;&#x4E8B;&#x4EF6;</td>
<td>(event: Event)</td>
</tr>
<tr>
<td>E410017</td>
<td>change</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>(value: string&#xFF09;</td>
</tr>
<tr>
<td>E410018</td>
<td>editoractionclick</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x884C;&#x4E3A;</td>
<td>(arg: Function&#xFF09;</td>
</tr>
<tr>
<td>E410019</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E410003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E410004</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E410009</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E410013</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E410014</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x76D1;&#x63A7;&#x503C;&#x53D8;&#x5316;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x5C55;&#x793A;&#x3002;&#x503C;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x5C06;&#x65B0;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;(&#x8BE5;&#x7F16;&#x8F91;&#x5668;editortype&#x4E3A;pickup-no-ac)&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> curvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;

    @Watch(<span class="hljs-string">&apos;value&apos;</span>,{immediate:<span class="hljs-literal">true</span>})
    <span class="hljs-keyword">public</span> onValueChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">this</span>.curvalue = newVal;
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>) &amp;&amp; <span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">const</span> value = <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem];
            <span class="hljs-keyword">const</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item.value, value));
            <span class="hljs-keyword">if</span> (index !== <span class="hljs-number">-1</span>) {
                <span class="hljs-keyword">return</span>;
            }
            <span class="hljs-keyword">this</span>.items = [];
            <span class="hljs-keyword">if</span> (value) {
                <span class="hljs-keyword">this</span>.items.push({text: newVal, value: value});
            }
            <span class="hljs-keyword">this</span>.onSearch(newVal, <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>);
        }
    }
</code></pre>
<p>2.&#x70B9;&#x51FB;&#x6E05;&#x9664;&#x6570;&#x636E;&#x56FE;&#x6807;&#x65F6;&#xFF0C;&#x629B;&#x51FA;formitemvaluechange&#x4E8B;&#x4EF6;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x6E05;&#x9664;</span>
    <span class="hljs-keyword">public</span> onClear($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">this</span>.fillPickUpData();
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>3.&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#xFF0C;&#x6839;&#x636E;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;pickupView&#x6765;&#x5224;&#x65AD;&#x6253;&#x5F00;&#x89C6;&#x56FE;&#x65B9;&#x5F0F;&#xFF0C;&#x5E76;&#x5C06;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#x548C;&#x9009;&#x4E2D;&#x9879;&#x6570;&#x636E;&#x96C6;&#x4F20;&#x5165;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openView($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.disabled) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">const</span> view = { ...this.pickupView };
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        _param.selectedData = [{srfkey: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem], srfmajortext: <span class="hljs-keyword">this</span>.curvalue }];
        <span class="hljs-comment">// &#x5224;&#x65AD;&#x6253;&#x5F00;&#x65B9;&#x5F0F;</span>
        <span class="hljs-keyword">if</span> (view.placement &amp;&amp; !<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;&apos;</span>)) {
            <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPOVER&apos;</span>)) {
                <span class="hljs-comment">//&#x6C14;&#x6CE1;&#x5361;&#x7247;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
                <span class="hljs-keyword">this</span>.openPopOver($event, view, _context, _param);
            } <span class="hljs-keyword">else</span> {
                <span class="hljs-comment">//&#x62BD;&#x5C49;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
                <span class="hljs-keyword">this</span>.openDrawer(view, _context, _param);
            }
        } <span class="hljs-keyword">else</span> {
            <span class="hljs-comment">//&#x6A21;&#x6001;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
            <span class="hljs-keyword">this</span>.openPopupModal(view, _context, _param);
        }

    }
</code></pre>
<p>4.&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x5173;&#x95ED;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openViewClose(result: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> item: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">if</span> (result.datas &amp;&amp; <span class="hljs-built_in">Array</span>.isArray(result.datas)) {
            <span class="hljs-built_in">Object</span>.assign(item, result.datas[<span class="hljs-number">0</span>]);
        }

        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.data) {
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: item[<span class="hljs-keyword">this</span>.deKeyField]?item[<span class="hljs-keyword">this</span>.deKeyField]:item[<span class="hljs-string">&quot;srfkey&quot;</span>] });
            }
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: item[<span class="hljs-keyword">this</span>.deMajorField]?item[<span class="hljs-keyword">this</span>.deMajorField]:item[<span class="hljs-string">&quot;srfmajortext&quot;</span>] });
            }
        }
    }
</code></pre>
<h2 id="&#x6570;&#x636E;&#x9009;&#x62E9;-&#x65E0;ac&#x6570;&#x636E;&#x94FE;&#x63A5;"><a href="https://modelapi.ibizlab.cn/#/net/ibizsys/model/control/editor/IPSPicker" target="_blank">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x65E0;AC,&#x6570;&#x636E;&#x94FE;&#x63A5;</a><div id="page2"></div></h2>
<p>&#x901A;&#x8FC7;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x9009;&#x62E9;&#x6570;&#x636E;&#xFF0C;&#x5E76;&#x53EF;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200819152303717.png" alt="image-20200819152303717"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;"><a href="http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7res/blob/master/src/components/app-picker/app-picker.vue" target="_blank">&#x57FA;&#x7840;&#x7528;&#x6CD5;</a></h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E420001</td>
<td>value</td>
<td>&#x8868;&#x5355;&#x503C;&#x53CC;&#x5411;&#x7ED1;&#x5B9A;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E420002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E420003</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E420004</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E420005</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E420006</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E420007</td>
<td>editortype</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x7C7B;&#x578B;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x9ED8;&#x8BA4;&#x4E3A;pickup-no-ac</td>
</tr>
<tr>
<td>E420008</td>
<td>pickupView</td>
<td>&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E420009</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E420010</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E420011</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E420012</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E420013</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E420014</td>
<td>linkview</td>
<td>&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getLinkPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E420015</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E420016</td>
<td>enter</td>
<td>&#x56DE;&#x8F66;&#x4E8B;&#x4EF6;</td>
<td>(event: Event)</td>
</tr>
<tr>
<td>E420017</td>
<td>change</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>(value: string&#xFF09;</td>
</tr>
<tr>
<td>E420018</td>
<td>editoractionclick</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x884C;&#x4E3A;</td>
<td>(arg: Function&#xFF09;</td>
</tr>
<tr>
<td>E420019</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E420003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E420004</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E420009</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E420013</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E420014</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E420015</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x6570;&#x636E;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x76D1;&#x63A7;&#x503C;&#x53D8;&#x5316;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x5C55;&#x793A;&#x3002;&#x503C;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x5C06;&#x65B0;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;(&#x8BE5;&#x7F16;&#x8F91;&#x5668;editortype&#x4E3A;pickup-no-ac)&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> curvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;

    @Watch(<span class="hljs-string">&apos;value&apos;</span>,{immediate:<span class="hljs-literal">true</span>})
    <span class="hljs-keyword">public</span> onValueChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">this</span>.curvalue = newVal;
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>) &amp;&amp; <span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">const</span> value = <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem];
            <span class="hljs-keyword">const</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item.value, value));
            <span class="hljs-keyword">if</span> (index !== <span class="hljs-number">-1</span>) {
                <span class="hljs-keyword">return</span>;
            }
            <span class="hljs-keyword">this</span>.items = [];
            <span class="hljs-keyword">if</span> (value) {
                <span class="hljs-keyword">this</span>.items.push({text: newVal, value: value});
            }
            <span class="hljs-keyword">this</span>.onSearch(newVal, <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>);
        }
    }
</code></pre>
<p>2.&#x70B9;&#x51FB;&#x6E05;&#x9664;&#x6570;&#x636E;&#x56FE;&#x6807;&#x65F6;&#xFF0C;&#x629B;&#x51FA;formitemvaluechange&#x4E8B;&#x4EF6;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x6E05;&#x9664;</span>
    <span class="hljs-keyword">public</span> onClear($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">this</span>.fillPickUpData();
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>3.&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#xFF0C;&#x6839;&#x636E;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;pickupView&#x6765;&#x5224;&#x65AD;&#x6253;&#x5F00;&#x89C6;&#x56FE;&#x65B9;&#x5F0F;&#xFF0C;&#x5E76;&#x5C06;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#x548C;&#x9009;&#x4E2D;&#x9879;&#x6570;&#x636E;&#x96C6;&#x4F20;&#x5165;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openView($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.disabled) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">const</span> view = { ...this.pickupView };
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        _param.selectedData = [{srfkey: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem], srfmajortext: <span class="hljs-keyword">this</span>.curvalue }];
        <span class="hljs-comment">// &#x5224;&#x65AD;&#x6253;&#x5F00;&#x65B9;&#x5F0F;</span>
        <span class="hljs-keyword">if</span> (view.placement &amp;&amp; !<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;&apos;</span>)) {
            <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPOVER&apos;</span>)) {
                <span class="hljs-comment">//&#x6C14;&#x6CE1;&#x5361;&#x7247;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
                <span class="hljs-keyword">this</span>.openPopOver($event, view, _context, _param);
            } <span class="hljs-keyword">else</span> {
                <span class="hljs-comment">//&#x62BD;&#x5C49;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
                <span class="hljs-keyword">this</span>.openDrawer(view, _context, _param);
            }
        } <span class="hljs-keyword">else</span> {
            <span class="hljs-comment">//&#x6A21;&#x6001;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
            <span class="hljs-keyword">this</span>.openPopupModal(view, _context, _param);
        }

    }
</code></pre>
<p>4.&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#xFF0C;&#x6839;&#x636E;&#x6570;&#x636E;&#x94FE;&#x63A5;&#x53C2;&#x6570;&#x6765;&#x5224;&#x65AD;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x7684;&#x65B9;&#x5F0F;&#xFF0C;&#x5E76;&#x5C06;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#x548C;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#x4F20;&#x5165;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openLinkView($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.data || !<span class="hljs-keyword">this</span>.valueitem || !<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem]) {
            <span class="hljs-built_in">console</span>.error({ title: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.error&apos;</span>) as <span class="hljs-built_in">any</span>), desc: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.valueitemException&apos;</span>) as <span class="hljs-built_in">any</span>) });
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        <span class="hljs-built_in">Object</span>.assign(_context, { [<span class="hljs-keyword">this</span>.deKeyField]: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem] });
        <span class="hljs-keyword">const</span> view = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.linkview));
        <span class="hljs-keyword">const</span> viewname2: <span class="hljs-built_in">string</span> = <span class="hljs-keyword">this</span>.$util.srfFilePath2(view.viewname);
        view.viewname = viewname2;

        <span class="hljs-keyword">if</span> (view.isRedirectView) {
            <span class="hljs-keyword">this</span>.openRedirectView($event, view, data);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;INDEXVIEWTAB&apos;</span>) || <span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openIndexViewTab(view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPOVER&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openPopOver($event, view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPUPMODAL&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openPopupModal(view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (view.placement.startsWith(<span class="hljs-string">&apos;DRAWER&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openDrawer(view, _context, _param);
        }
    }
</code></pre>
<p>5.&#x6253;&#x5F00;&#x89C6;&#x56FE;&#x5173;&#x95ED;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openViewClose(result: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> item: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">if</span> (result.datas &amp;&amp; <span class="hljs-built_in">Array</span>.isArray(result.datas)) {
            <span class="hljs-built_in">Object</span>.assign(item, result.datas[<span class="hljs-number">0</span>]);
        }

        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.data) {
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: item[<span class="hljs-keyword">this</span>.deKeyField]?item[<span class="hljs-keyword">this</span>.deKeyField]:item[<span class="hljs-string">&quot;srfkey&quot;</span>] });
            }
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: item[<span class="hljs-keyword">this</span>.deMajorField]?item[<span class="hljs-keyword">this</span>.deMajorField]:item[<span class="hljs-string">&quot;srfmajortext&quot;</span>] });
            }
        }
    }
</code></pre>
<h2 id="&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;"><a href="https://modelapi.ibizlab.cn/#/net/ibizsys/model/control/editor/IPSPicker" target="_blank">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;</a></h2>
<p>&#x901A;&#x8FC7;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6846;&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x652F;&#x6301;&#x8F93;&#x5165;&#x65F6;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x641C;&#x7D22;&#x5217;&#x8868;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200819153944576.png" alt="image-20200819153944576"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;"><a href="http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7res/blob/master/src/components/app-picker/app-picker.vue" target="_blank">&#x57FA;&#x7840;&#x7528;&#x6CD5;</a></h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E430001</td>
<td>value</td>
<td>&#x8868;&#x5355;&#x503C;&#x53CC;&#x5411;&#x7ED1;&#x5B9A;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E430002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E430003</td>
<td>acParams</td>
<td>AC&#x53C2;&#x6570;</td>
<td>getPSAppDEDataSet()&#x3001;getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E430004</td>
<td>service</td>
<td>&#x8868;&#x5355;&#x670D;&#x52A1;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;service&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E430005</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E430006</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E430007</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E430008</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E430009</td>
<td>editortype</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x7C7B;&#x578B;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x9ED8;&#x8BA4;&#x4E3A;dropdown</td>
</tr>
<tr>
<td>E430010</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E430011</td>
<td>sort</td>
<td>&#x6392;&#x5E8F;</td>
<td>getPSAppDEACMode()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E430012</td>
<td>actionDetails</td>
<td>&#x884C;&#x4E3A;&#x7EC4;</td>
<td>getPSAppDEACMode()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E430013</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E430014</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E430015</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E430016</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E430017</td>
<td>pickUpData</td>
<td>&#x5916;&#x952E;&#x503C;&#x9644;&#x52A0;&#x6570;&#x636E;</td>
<td>getEditorParam(&quot;PICKUPDATA&quot;, &quot;&quot;)</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E430018</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E430019</td>
<td>enter</td>
<td>&#x56DE;&#x8F66;&#x4E8B;&#x4EF6;</td>
<td>(event: Event)</td>
</tr>
<tr>
<td>E430020</td>
<td>change</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>(value: string&#xFF09;</td>
</tr>
<tr>
<td>E430021</td>
<td>editoractionclick</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x884C;&#x4E3A;</td>
<td>(arg: Function&#xFF09;</td>
</tr>
<tr>
<td>E430022</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E430003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x548C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x7ED3;&#x679C;&#x96C6;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E430005</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E430006</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E430011</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x81EA;&#x586B;&#x6A21;&#x5F0F;&#x5BF9;&#x8C61;&#x7684;&#x9644;&#x52A0;&#x6392;&#x5E8F;&#x5C5E;&#x6027;&#x548C;&#x9644;&#x52A0;&#x6392;&#x5E8F;&#x65B9;&#x5411;</td>
</tr>
<tr>
<td>E430012</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x81EA;&#x586B;&#x6A21;&#x5F0F;&#x5BF9;&#x8C61;&#x7684;&#x754C;&#x9762;&#x884C;&#x4E3A;&#x7EC4;</td>
</tr>
<tr>
<td>E430015</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E430016</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E430017</td>
<td>&#x4F7F;&#x7528;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x914D;&#x7F6E;&#x5916;&#x952E;&#x503C;&#x7684;&#x9644;&#x52A0;&#x6570;&#x636E;&#xFF0C;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;PICKUPDATA=param1;param2&#x3002;&#x5176;&#x4E2D;param1&#x548C;param2&#x5206;&#x522B;&#x4E3A;&#x60F3;&#x8981;&#x629B;&#x51FA;&#x7684;&#x9644;&#x52A0;&#x6570;&#x636E;&#x5B57;&#x6BB5;&#x540D;(&#x5B9E;&#x4F53;&#x5C5E;&#x6027;&#x540D;),&#x5F53;&#x8981;&#x629B;&#x51FA;&#x591A;&#x4E2A;&#x9644;&#x52A0;&#x6570;&#x636E;&#x65F6;&#xFF0C;&#x4E2D;&#x95F4;&#x4F7F;&#x7528;&#x82F1;&#x6587; ; &#x9694;&#x5F00;&#x3002;&#x5E76;&#x4E14;&#x8868;&#x5355;&#x9879;&#x540D;&#x5FC5;&#x987B;&#x548C;&#x9644;&#x52A0;&#x6570;&#x636E;&#x5B57;&#x6BB5;&#x540D;&#x4E00;&#x81F4;&#x3002;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x76D1;&#x63A7;&#x503C;&#x53D8;&#x5316;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x5C55;&#x793A;&#x3002;&#x503C;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x5C06;&#x65B0;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;(&#x8BE5;&#x7F16;&#x8F91;&#x5668;editortype&#x4E3A;dropdown)&#x3002;&#x5E76;&#x4E14;&#x5982;&#x679C;&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x914D;&#x7F6E;&#x4E86;&#x503C;&#x9879;&#xFF0C;&#x5219;&#x5C06;&#x4E0B;&#x62C9;&#x6570;&#x7EC4;&#x4E2D;&#x6CA1;&#x6709;&#x7684;&#x503C;&#x9879;&#x6570;&#x636E;&#x52A0;&#x5165;&#x6570;&#x7EC4;&#x3002;&#x5728;&#x754C;&#x9762;&#x5448;&#x73B0;&#x503C;&#x65F6;&#xFF0C;&#x5982;&#x679C;&#x914D;&#x7F6E;&#x4E86;&#x503C;&#x9879;&#x5C31;&#x663E;&#x793A;&#x503C;&#x9879;&#x7684;&#x503C;&#xFF0C;&#x5426;&#x5219;&#x663E;&#x793A;&#x5F53;&#x524D;&#x503C;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> curvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
    <span class="hljs-comment">//&#x4E0B;&#x62C9;&#x6570;&#x7EC4;</span>
    <span class="hljs-keyword">public</span> items: <span class="hljs-built_in">any</span>[] = [];

    @Watch(<span class="hljs-string">&apos;value&apos;</span>,{immediate:<span class="hljs-literal">true</span>})
    <span class="hljs-keyword">public</span> onValueChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">this</span>.curvalue = newVal;
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>) &amp;&amp; <span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">const</span> value = <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem];
            <span class="hljs-keyword">const</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item.value, value));
            <span class="hljs-keyword">if</span> (index !== <span class="hljs-number">-1</span>) {
                <span class="hljs-keyword">return</span>;
            }
            <span class="hljs-keyword">this</span>.items = [];
            <span class="hljs-keyword">if</span> (value) {
                <span class="hljs-keyword">this</span>.items.push({text: newVal, value: value});
            }
            <span class="hljs-keyword">this</span>.onSearch(newVal, <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>);
        }
    }

    <span class="hljs-keyword">get</span> refvalue() {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem &amp;&amp; <span class="hljs-keyword">this</span>.data) {
            <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem];
        }
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.curvalue;
    }
</code></pre>
<p>2.&#x70B9;&#x51FB;&#x6E05;&#x9664;&#x6570;&#x636E;&#x56FE;&#x6807;&#x65F6;&#xFF0C;&#x629B;&#x51FA;formitemvaluechange&#x4E8B;&#x4EF6;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onClear($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">this</span>.fillPickUpData();
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>3.&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x65F6;&#x6570;&#x636E;&#x7684;&#x83B7;&#x53D6;&#xFF0C;&#x5C06;&#x83B7;&#x53D6;&#x5230;&#x7684;&#x6570;&#x636E;&#x653E;&#x5165;&#x4E0B;&#x62C9;&#x6570;&#x7EC4;&#x96C6;&#x5408;&#x4E2D;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x4E0B;&#x62C9;&#x6570;&#x7EC4;</span>
    <span class="hljs-keyword">public</span> items: <span class="hljs-built_in">any</span>[] = [];

    <span class="hljs-comment">//&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x65F6;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x7684;&#x67E5;&#x8BE2;</span>
    <span class="hljs-keyword">public</span> onSelectOpen(flag: <span class="hljs-built_in">boolean</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">this</span>.open = flag;
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.open) {
            <span class="hljs-keyword">this</span>.onSearch(<span class="hljs-keyword">this</span>.curvalue, <span class="hljs-literal">null</span>, <span class="hljs-literal">true</span>);
        }
    }

    <span class="hljs-keyword">public</span> onSearch(query: <span class="hljs-built_in">any</span>, callback: <span class="hljs-built_in">any</span>, other: <span class="hljs-built_in">boolean</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x5904;&#x7406;&#x641C;&#x7D22;&#x53C2;&#x6570;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        query = !query ? <span class="hljs-string">&apos;&apos;</span> : query;
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.inputState &amp;&amp; other &amp;&amp; <span class="hljs-built_in">Object</span>.is(query, <span class="hljs-keyword">this</span>.value)) {
            query = <span class="hljs-string">&apos;&apos;</span>;
        }
        <span class="hljs-keyword">this</span>.inputState = <span class="hljs-literal">false</span>;
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.sort &amp;&amp; !<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.sort, <span class="hljs-string">&quot;&quot;</span>)) {
            <span class="hljs-built_in">Object</span>.assign(_param, { sort: <span class="hljs-keyword">this</span>.sort });
        }
        <span class="hljs-built_in">Object</span>.assign(_param, { query: query, size: <span class="hljs-number">1000</span> });
        <span class="hljs-comment">// &#x9519;&#x8BEF;&#x4FE1;&#x606F;&#x56FD;&#x9645;&#x5316;</span>
        <span class="hljs-keyword">let</span> error: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.error&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> miss: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.miss&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> requestException: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.requestException&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.service){
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;service&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.serviceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;serviceName&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.interfaceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;interfaceName&apos;</span> });
        } <span class="hljs-keyword">else</span> {
          <span class="hljs-keyword">this</span>.service.getItems(<span class="hljs-keyword">this</span>.acParams.serviceName,<span class="hljs-keyword">this</span>.acParams.interfaceName, _context, _param).then((response: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (!response) {
                  <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: requestException });
              } <span class="hljs-keyword">else</span> {
                  <span class="hljs-keyword">this</span>.items = [...response];
              }
             <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.acParams &amp;&amp; <span class="hljs-keyword">this</span>.actionDetails &amp;&amp; <span class="hljs-keyword">this</span>.actionDetails.length &gt;<span class="hljs-number">0</span>){
                  <span class="hljs-keyword">this</span>.items = [...this.items,...this.actionDetails];
              }
              <span class="hljs-keyword">if</span> (callback) {
                  callback(<span class="hljs-keyword">this</span>.items);
              }
          }).catch((error: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (callback) {
                  callback([]);
              }
          });
        } 
    }
</code></pre>
<p>4.&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x9009;&#x4E2D;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onSelect(val: <span class="hljs-built_in">string</span>) {
        <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], val));
        <span class="hljs-keyword">if</span> (index &gt;= <span class="hljs-number">0</span>) {
            <span class="hljs-keyword">this</span>.onACSelect(<span class="hljs-keyword">this</span>.items[index]);
        }
    }

    <span class="hljs-keyword">public</span> onACSelect(item: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">this</span>.selectValue = item[<span class="hljs-keyword">this</span>.deMajorField];
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: item[<span class="hljs-keyword">this</span>.deKeyField] });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: item[<span class="hljs-keyword">this</span>.deMajorField] });
        }
        <span class="hljs-keyword">this</span>.fillPickUpData(item);
    }
</code></pre>
<p>5.&#x5982;&#x679C;&#x914D;&#x7F6E;&#x4E86;&#x5916;&#x952E;&#x9644;&#x52A0;&#x6570;&#x636E;&#xFF0C;&#x5219;&#x5728;&#x9009;&#x4E2D;&#x6570;&#x636E;&#x548C;&#x6E05;&#x9664;&#x6570;&#x636E;&#x65F6;&#x5C06;&#x5916;&#x952E;&#x9644;&#x52A0;&#x6570;&#x636E;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">/**
     * &#x5916;&#x952E;&#x503C;&#x9644;&#x52A0;&#x6570;&#x636E;
     *
     * @type {*}
     * @memberof AppPicker
     */</span>
    @Prop() <span class="hljs-keyword">public</span> pickUpData?: <span class="hljs-built_in">string</span>;

    <span class="hljs-comment">/**
     * &#x586B;&#x5145;&#x5916;&#x952E;&#x503C;&#x9644;&#x52A0;&#x6570;&#x636E;
     *
     * @param {item} &#x6570;&#x636E;&#x96C6;
     * @memberof AppPicker
     */</span>
    <span class="hljs-keyword">public</span> fillPickUpData(item?:<span class="hljs-built_in">any</span>){
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.pickUpData){
            <span class="hljs-keyword">let</span> pickUpDataArray:<span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = <span class="hljs-keyword">this</span>.pickUpData.split(<span class="hljs-string">&quot;;&quot;</span>)
            <span class="hljs-keyword">if</span>(pickUpDataArray &amp;&amp; pickUpDataArray.length &gt;<span class="hljs-number">0</span>){
                <span class="hljs-keyword">for</span>(<span class="hljs-keyword">let</span> i=<span class="hljs-number">0</span>;i&lt;pickUpDataArray.length;i++){
                <span class="hljs-keyword">if</span>(item){
                        <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&quot;formitemvaluechange&quot;</span>, {
                            name: pickUpDataArray[i],
                            value: item[pickUpDataArray[i]],
                        });
                }<span class="hljs-keyword">else</span>{
                        <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&quot;formitemvaluechange&quot;</span>, {
                            name: pickUpDataArray[i],
                            value: <span class="hljs-string">&quot;&quot;</span>,
                        });
                }
                }
            }
        }
    }
</code></pre>
<h2 id="&#x6570;&#x636E;&#x9009;&#x62E9;&#x4E0B;&#x62C9;&#xFF0C;&#x6570;&#x636E;&#x94FE;&#x63A5;"><a href="https://modelapi.ibizlab.cn/#/net/ibizsys/model/control/editor/IPSPicker" target="_blank">&#x6570;&#x636E;&#x9009;&#x62E9;(&#x4E0B;&#x62C9;&#xFF0C;&#x6570;&#x636E;&#x94FE;&#x63A5;)</a></h2>
<p>&#x901A;&#x8FC7;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6846;&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x652F;&#x6301;&#x8F93;&#x5165;&#x65F6;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x641C;&#x7D22;&#x5217;&#x8868;,&#x5E76;&#x53EF;&#x4EE5;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x9009;&#x5219;&#x6570;&#x636E;&#x548C;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200819160528222.png" alt="image-20200819160528222"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;"><a href="http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7res/blob/master/src/components/app-picker/app-picker.vue" target="_blank">&#x57FA;&#x7840;&#x7528;&#x6CD5;</a></h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E440001</td>
<td>value</td>
<td>&#x8868;&#x5355;&#x503C;&#x53CC;&#x5411;&#x7ED1;&#x5B9A;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E440002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E440003</td>
<td>acParams</td>
<td>AC&#x53C2;&#x6570;</td>
<td>getPSAppDEDataSet()&#x3001;getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E440004</td>
<td>service</td>
<td>&#x8868;&#x5355;&#x670D;&#x52A1;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;service&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E440005</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E440006</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E440007</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E440008</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E440009</td>
<td>editortype</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x7C7B;&#x578B;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x9ED8;&#x8BA4;&#x4E3A;&#x7A7A;</td>
</tr>
<tr>
<td>E440010</td>
<td>pickupView</td>
<td>&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E440011</td>
<td>linkview</td>
<td>&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getLinkPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E440012</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E440013</td>
<td>sort</td>
<td>&#x6392;&#x5E8F;</td>
<td>getPSAppDEACMode()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E440014</td>
<td>actionDetails</td>
<td>&#x884C;&#x4E3A;&#x7EC4;</td>
<td>getPSAppDEACMode()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E440015</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E440016</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E440017</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E440018</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E440019</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E440020</td>
<td>enter</td>
<td>&#x56DE;&#x8F66;&#x4E8B;&#x4EF6;</td>
<td>(event: Event)</td>
</tr>
<tr>
<td>E440021</td>
<td>change</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>(value: string&#xFF09;</td>
</tr>
<tr>
<td>E440022</td>
<td>editoractionclick</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x884C;&#x4E3A;</td>
<td>(arg: Function&#xFF09;</td>
</tr>
<tr>
<td>E440023</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E440003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x548C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x7ED3;&#x679C;&#x96C6;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E440005</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E440006</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E440010</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E440011</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x6570;&#x636E;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E440013</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x81EA;&#x586B;&#x6A21;&#x5F0F;&#x5BF9;&#x8C61;&#x7684;&#x9644;&#x52A0;&#x6392;&#x5E8F;&#x5C5E;&#x6027;&#x548C;&#x9644;&#x52A0;&#x6392;&#x5E8F;&#x65B9;&#x5411;</td>
</tr>
<tr>
<td>E440014</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x81EA;&#x586B;&#x6A21;&#x5F0F;&#x5BF9;&#x8C61;&#x7684;&#x754C;&#x9762;&#x884C;&#x4E3A;&#x7EC4;</td>
</tr>
<tr>
<td>E440017</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E440018</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x521D;&#x59CB;&#x5316;&#x548C;&#x76D1;&#x63A7;&#x503C;&#x53D8;&#x5316;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x5C55;&#x793A;&#x3002;&#x521D;&#x59CB;&#x5316;&#x65F6;&#x76F4;&#x63A5;&#x5C06;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;&#xFF0C;&#x503C;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x5C06;&#x65B0;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;(&#x8BE5;&#x7F16;&#x8F91;&#x5668;editortype&#x4E3A;&#x7A7A;)&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> curvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;

    <span class="hljs-keyword">public</span> created() {
        <span class="hljs-keyword">if</span>(!<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;pickup-no-ac&apos;</span>) &amp;&amp; !<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>)){
            <span class="hljs-keyword">this</span>.curvalue = <span class="hljs-keyword">this</span>.value;
        }
    }

    @Watch(<span class="hljs-string">&apos;value&apos;</span>,{immediate:<span class="hljs-literal">true</span>})
    <span class="hljs-keyword">public</span> onValueChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">this</span>.curvalue = newVal;
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.editortype, <span class="hljs-string">&apos;dropdown&apos;</span>) &amp;&amp; <span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">const</span> value = <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem];
            <span class="hljs-keyword">const</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item.value, value));
            <span class="hljs-keyword">if</span> (index !== <span class="hljs-number">-1</span>) {
                <span class="hljs-keyword">return</span>;
            }
            <span class="hljs-keyword">this</span>.items = [];
            <span class="hljs-keyword">if</span> (value) {
                <span class="hljs-keyword">this</span>.items.push({text: newVal, value: value});
            }
            <span class="hljs-keyword">this</span>.onSearch(newVal, <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>);
        }
    }
</code></pre>
<p>2.&#x5728;&#x8F93;&#x5165;&#x6846;&#x4E2D;&#x8F93;&#x5165;&#x65F6;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x72B6;&#x6001;&#x6539;&#x4E3A;true;&#x8F93;&#x5165;&#x6846;&#x5931;&#x53BB;&#x7126;&#x70B9;&#x65F6;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x5F53;&#x524D;&#x503C;&#xFF1B;&#x70B9;&#x51FB;&#x6E05;&#x9664;&#x6570;&#x636E;&#x56FE;&#x6807;&#x65F6;&#xFF0C;&#x629B;&#x51FA;formitemvaluechange&#x4E8B;&#x4EF6;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x8F93;&#x5165;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x5C06;&#x8F93;&#x5165;&#x72B6;&#x6001;&#x6539;&#x4E3A;true</span>
    <span class="hljs-keyword">public</span> onInput($event: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is($event, <span class="hljs-keyword">this</span>.value)) {
            <span class="hljs-keyword">this</span>.inputState = <span class="hljs-literal">true</span>;
        }
    }
    <span class="hljs-comment">//&#x5931;&#x53BB;&#x7126;&#x70B9;&#x65F6;&#xFF0C;&#x5C06;&#x8868;&#x5355;&#x9879;&#x503C;&#x586B;&#x5165;&#x5F53;&#x524D;&#x503C;</span>
    <span class="hljs-keyword">public</span> onBlur(e: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">this</span>.curvalue = <span class="hljs-keyword">this</span>.value;
    }
    <span class="hljs-comment">//&#x6E05;&#x9664;</span>
    <span class="hljs-keyword">public</span> onClear($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">this</span>.fillPickUpData();
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>3.&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x7684;&#x83B7;&#x53D6;&#xFF0C;&#x901A;&#x8FC7;callback&#x6765;&#x8FD4;&#x56DE;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x4E0B;&#x62C9;&#x6570;&#x7EC4;</span>
    <span class="hljs-keyword">public</span> items: <span class="hljs-built_in">any</span>[] = [];

    <span class="hljs-keyword">public</span> onSearch(query: <span class="hljs-built_in">any</span>, callback: <span class="hljs-built_in">any</span>, other: <span class="hljs-built_in">boolean</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x5904;&#x7406;&#x641C;&#x7D22;&#x53C2;&#x6570;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        query = !query ? <span class="hljs-string">&apos;&apos;</span> : query;
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.inputState &amp;&amp; other &amp;&amp; <span class="hljs-built_in">Object</span>.is(query, <span class="hljs-keyword">this</span>.value)) {
            query = <span class="hljs-string">&apos;&apos;</span>;
        }
        <span class="hljs-keyword">this</span>.inputState = <span class="hljs-literal">false</span>;
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.sort &amp;&amp; !<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.sort, <span class="hljs-string">&quot;&quot;</span>)) {
            <span class="hljs-built_in">Object</span>.assign(_param, { sort: <span class="hljs-keyword">this</span>.sort });
        }
        <span class="hljs-built_in">Object</span>.assign(_param, { query: query, size: <span class="hljs-number">1000</span> });
        <span class="hljs-comment">// &#x9519;&#x8BEF;&#x4FE1;&#x606F;&#x56FD;&#x9645;&#x5316;</span>
        <span class="hljs-keyword">let</span> error: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.error&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> miss: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.miss&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> requestException: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.requestException&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.service){
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;service&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.serviceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;serviceName&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.interfaceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;interfaceName&apos;</span> });
        } <span class="hljs-keyword">else</span> {
          <span class="hljs-keyword">this</span>.service.getItems(<span class="hljs-keyword">this</span>.acParams.serviceName,<span class="hljs-keyword">this</span>.acParams.interfaceName, _context, _param).then((response: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (!response) {
                  <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: requestException });
              } <span class="hljs-keyword">else</span> {
                  <span class="hljs-keyword">this</span>.items = [...response];
              }
             <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.acParams &amp;&amp; <span class="hljs-keyword">this</span>.actionDetails &amp;&amp; <span class="hljs-keyword">this</span>.actionDetails.length &gt;<span class="hljs-number">0</span>){
                  <span class="hljs-keyword">this</span>.items = [...this.items,...this.actionDetails];
              }
              <span class="hljs-keyword">if</span> (callback) {
                  callback(<span class="hljs-keyword">this</span>.items);
              }
          }).catch((error: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (callback) {
                  callback([]);
              }
          });
        } 
    }
</code></pre>
<p>4.&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x9009;&#x4E2D;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onACSelect(item: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">this</span>.selectValue = item[<span class="hljs-keyword">this</span>.deMajorField];
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: item[<span class="hljs-keyword">this</span>.deKeyField] });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: item[<span class="hljs-keyword">this</span>.deMajorField] });
        }
    }
</code></pre>
<p>5.&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#xFF0C;&#x6839;&#x636E;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;pickupView&#x6765;&#x5224;&#x65AD;&#x6253;&#x5F00;&#x89C6;&#x56FE;&#x65B9;&#x5F0F;&#xFF0C;&#x5E76;&#x5C06;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#x548C;&#x9009;&#x4E2D;&#x9879;&#x6570;&#x636E;&#x96C6;&#x4F20;&#x5165;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openView($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.disabled) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">const</span> view = { ...this.pickupView };
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        _param.selectedData = [{srfkey: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem], srfmajortext: <span class="hljs-keyword">this</span>.curvalue }];
        <span class="hljs-comment">// &#x5224;&#x65AD;&#x6253;&#x5F00;&#x65B9;&#x5F0F;</span>
        <span class="hljs-keyword">if</span> (view.placement &amp;&amp; !<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;&apos;</span>)) {
            <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPOVER&apos;</span>)) {
                <span class="hljs-comment">//&#x6C14;&#x6CE1;&#x5361;&#x7247;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
                <span class="hljs-keyword">this</span>.openPopOver($event, view, _context, _param);
            } <span class="hljs-keyword">else</span> {
                <span class="hljs-comment">//&#x62BD;&#x5C49;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
                <span class="hljs-keyword">this</span>.openDrawer(view, _context, _param);
            }
        } <span class="hljs-keyword">else</span> {
            <span class="hljs-comment">//&#x6A21;&#x6001;&#x6A21;&#x5F0F;&#x6253;&#x5F00;</span>
            <span class="hljs-keyword">this</span>.openPopupModal(view, _context, _param);
        }

    }
</code></pre>
<p>6.&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#xFF0C;&#x6839;&#x636E;&#x6570;&#x636E;&#x94FE;&#x63A5;&#x53C2;&#x6570;&#x6765;&#x5224;&#x65AD;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x7684;&#x65B9;&#x5F0F;&#xFF0C;&#x5E76;&#x5C06;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#x548C;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#x4F20;&#x5165;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openLinkView($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.data || !<span class="hljs-keyword">this</span>.valueitem || !<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem]) {
            <span class="hljs-built_in">console</span>.error({ title: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.error&apos;</span>) as <span class="hljs-built_in">any</span>), desc: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPicker.valueitemException&apos;</span>) as <span class="hljs-built_in">any</span>) });
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        <span class="hljs-built_in">Object</span>.assign(_context, { [<span class="hljs-keyword">this</span>.deKeyField]: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem] });
        <span class="hljs-keyword">const</span> view = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.linkview));
        <span class="hljs-keyword">const</span> viewname2: <span class="hljs-built_in">string</span> = <span class="hljs-keyword">this</span>.$util.srfFilePath2(view.viewname);
        view.viewname = viewname2;

        <span class="hljs-keyword">if</span> (view.isRedirectView) {
            <span class="hljs-keyword">this</span>.openRedirectView($event, view, data);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;INDEXVIEWTAB&apos;</span>) || <span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openIndexViewTab(view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPOVER&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openPopOver($event, view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPUPMODAL&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openPopupModal(view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (view.placement.startsWith(<span class="hljs-string">&apos;DRAWER&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openDrawer(view, _context, _param);
        }
    }
</code></pre>
<p>7.&#x6253;&#x5F00;&#x89C6;&#x56FE;&#x5173;&#x95ED;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openViewClose(result: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> item: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">if</span> (result.datas &amp;&amp; <span class="hljs-built_in">Array</span>.isArray(result.datas)) {
            <span class="hljs-built_in">Object</span>.assign(item, result.datas[<span class="hljs-number">0</span>]);
        }

        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.data) {
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: item[<span class="hljs-keyword">this</span>.deKeyField]?item[<span class="hljs-keyword">this</span>.deKeyField]:item[<span class="hljs-string">&quot;srfkey&quot;</span>] });
            }
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: item[<span class="hljs-keyword">this</span>.deMajorField]?item[<span class="hljs-keyword">this</span>.deMajorField]:item[<span class="hljs-string">&quot;srfmajortext&quot;</span>] });
            }
        }
    }
</code></pre>
<h2 id="&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;&#x89C6;&#x56FE;"><a href="https://modelapi.ibizlab.cn/#/net/ibizsys/model/control/editor/IPSPicker" target="_blank">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x4E0B;&#x62C9;&#x89C6;&#x56FE;</a></h2>
<p>&#x901A;&#x8FC7;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x89C6;&#x56FE;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200819162510253.png" alt="image-20200819162510253"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;"><a href="http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7res/blob/master/src/components/app-picker-select-view/app-picker-select-view.vue" target="_blank">&#x57FA;&#x7840;&#x7528;&#x6CD5;</a></h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E450001</td>
<td>value</td>
<td>&#x4F20;&#x5165;&#x503C;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E450002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E450003</td>
<td>isSingleSelect</td>
<td>&#x662F;&#x5426;&#x5355;&#x9009;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E450004</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E450005</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E450006</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E450007</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E450008</td>
<td>pickupView</td>
<td>&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E450009</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E450010</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E450011</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E450012</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E450013</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E450014</td>
<td>placeholder</td>
<td>&#x7A7A;&#x767D;&#x63D0;&#x793A;&#x4FE1;&#x606F;</td>
<td>getPlaceHolder()</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E450015</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E450016</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E450003</td>
<td>&#x82E5;&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x7684;&#x89C6;&#x56FE;&#x7C7B;&#x578B;&#x4E3A;DEMPICKUPVIEW&#xFF0C;&#x5219;isSingleSelect&#x9ED8;&#x8BA4;&#x4E3A;false&#xFF0C;&#x5426;&#x5219;&#x4E3A;true</td>
</tr>
<tr>
<td>E450004</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E450005</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E450008</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E450012</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E450013</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x76D1;&#x63A7;&#x503C;&#x53D8;&#x5316;&#xFF0C;&#x6839;&#x636E;&#x4F46;&#x591A;&#x9009;&#x60C5;&#x51B5;&#x7684;&#x4E0D;&#x540C;&#xFF0C;&#x5BF9;&#x6570;&#x636E;&#x7ECF;&#x884C;&#x5BF9;&#x5E94;&#x7684;&#x5904;&#x7406;&#xFF0C;&#x5355;&#x9009;&#x65F6;&#x76F4;&#x63A5;&#x5C06;&#x65B0;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x8F93;&#x5165;&#x6846;&#x503C;&#xFF0C;&#x518D;&#x5C06;&#x9009;&#x62E9;&#x6570;&#x636E;&#x653E;&#x5165;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#x3002;&#x591A;&#x9009;&#x65F6;&#xFF0C;&#x5148;&#x5C06;&#x6570;&#x636E;&#x653E;&#x5165;&#x591A;&#x9009;&#x6846;&#x9009;&#x4E2D;&#x9879;&#x6570;&#x636E;&#x96C6;&#x5408;&#x4E2D;&#xFF0C;&#x518D;&#x5C06;&#x5176;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x503C;&#x653E;&#x5165;&#x591A;&#x9009;&#x6846;key&#x503C;&#x96C6;&#x5408;&#x4E2D;&#xFF0C;&#x5E76;&#x5C06;&#x539F;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x96C6;&#x5408;&#x4E2D;&#x6CA1;&#x6709;&#x7684;&#x6570;&#x636E;&#x52A0;&#x5165;&#x8FDB;&#x53BB;&#x3002;&#x6700;&#x540E;&#x5C06;&#x591A;&#x9009;&#x6846;&#x9009;&#x4E2D;&#x9879;&#x6570;&#x636E;&#x96C6;&#x5408;&#x653E;&#x5165;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#x4E2D;(&#x4E0B;&#x62C9;&#x5C55;&#x5F00;&#x7684;&#x89C6;&#x56FE;&#x5C31;&#x80FD;&#x901A;&#x8FC7;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#x6765;&#x83B7;&#x53D6;&#x5230;&#x5DF2;&#x9009;&#x4E2D;&#x6570;&#x636E;)&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x8F93;&#x5165;&#x6846;&#x503C;</span>
    <span class="hljs-keyword">public</span> queryValue: <span class="hljs-built_in">any</span> = <span class="hljs-string">&apos;&apos;</span>;    
    <span class="hljs-comment">//&#x5F53;&#x524D;&#x591A;&#x9009;&#x6846;&#x9009;&#x4E2D;&#x9879;&#x5BF9;&#x8C61;&#x96C6;&#x5408;</span>
    <span class="hljs-keyword">public</span> selectItems: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
    <span class="hljs-comment">//&#x5F53;&#x524D;&#x591A;&#x9009;&#x6846;&#x9009;&#x4E2D;&#x503C;&#x7684;key&#x96C6;&#x5408;</span>
    <span class="hljs-keyword">public</span> keySet: <span class="hljs-built_in">any</span> = [];
    <span class="hljs-comment">//&#x6240;&#x6709;&#x64CD;&#x4F5C;&#x8FC7;&#x7684;&#x4E0B;&#x62C9;&#x9009;&#x9879;&#x5BF9;&#x8C61;&#x96C6;&#x5408;</span>
    <span class="hljs-keyword">public</span> items: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];

    @Watch(<span class="hljs-string">&apos;value&apos;</span>, { deep: <span class="hljs-literal">true</span> })
    <span class="hljs-keyword">public</span> onValueChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.isSingleSelect){
            <span class="hljs-comment">//&#x5355;&#x9009;</span>
            <span class="hljs-keyword">this</span>.queryValue = newVal;
            <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.data || !<span class="hljs-keyword">this</span>.valueitem || !<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem]) {
                <span class="hljs-keyword">this</span>.$Notice.error({ title: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.error&apos;</span>) as <span class="hljs-built_in">any</span>), desc: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.editor&apos;</span>) as <span class="hljs-built_in">any</span>)+<span class="hljs-keyword">this</span>.name+(<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.valueitemException&apos;</span>) as <span class="hljs-built_in">any</span>) });
            }<span class="hljs-keyword">else</span>{
                <span class="hljs-keyword">let</span> _viewparam = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-keyword">this</span>.viewparam);
                _viewparam.selectedData = [{srfkey: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem], srfmajortext: <span class="hljs-keyword">this</span>.value }];
                <span class="hljs-keyword">this</span>.viewparam = <span class="hljs-built_in">JSON</span>.stringify(_viewparam);
            }
        }<span class="hljs-keyword">else</span>{
            <span class="hljs-comment">//&#x591A;&#x9009;</span>
            <span class="hljs-keyword">this</span>.keySet = [];
            <span class="hljs-keyword">this</span>.selectItems = [];
            <span class="hljs-keyword">if</span> (newVal) {
                <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.data || !<span class="hljs-keyword">this</span>.valueitem || !<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem]) {
                    <span class="hljs-keyword">this</span>.$Notice.error({ title: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.error&apos;</span>) as <span class="hljs-built_in">any</span>), desc: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.editor&apos;</span>) as <span class="hljs-built_in">any</span>)+<span class="hljs-keyword">this</span>.name+(<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.valueitemException&apos;</span>) as <span class="hljs-built_in">any</span>) });
                }<span class="hljs-keyword">else</span>{
                    <span class="hljs-keyword">let</span> tempvalue: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem].split(<span class="hljs-string">&apos;,&apos;</span>);
                    <span class="hljs-keyword">let</span> temptext: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = newVal.split(<span class="hljs-string">&apos;,&apos;</span>);
                    tempvalue.forEach((srfkey: <span class="hljs-built_in">any</span>, index: <span class="hljs-built_in">number</span>)=&gt;{
                        <span class="hljs-keyword">this</span>.selectItems.push({ srfmajortext : temptext[index], srfkey: srfkey });
                    });
                    <span class="hljs-keyword">this</span>.selectItems.forEach((item: <span class="hljs-built_in">any</span>) =&gt; {
                        <span class="hljs-keyword">this</span>.keySet.push(item.srfkey);
                        <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((i) =&gt; <span class="hljs-built_in">Object</span>.is(i.srfkey, item.srfkey));
                        <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span>) {
                            <span class="hljs-keyword">this</span>.items.push({ srfmajortext : item.srfmajortext, srfkey: item.srfkey });
                        }
                    });
                }
            }
            <span class="hljs-keyword">let</span> _viewparam = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-keyword">this</span>.viewparam);
            _viewparam.selectedData = <span class="hljs-keyword">this</span>.selectItems;
            <span class="hljs-keyword">this</span>.viewparam = <span class="hljs-built_in">JSON</span>.stringify(_viewparam);
        }
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>2.&#x5355;&#x9009;&#x65F6;&#x6570;&#x636E;&#x6E05;&#x9664;&#xFF0C;&#x629B;&#x51FA;formitemvaluechange&#x4E8B;&#x4EF6;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onClear($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>3.&#x4E0B;&#x62C9;&#x9009;&#x4E2D;&#x65F6;&#x7684;&#x56DE;&#x8C03;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onSelectChange(selects: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> val: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
        <span class="hljs-keyword">if</span> (selects.length &gt; <span class="hljs-number">0</span>) {
            selects.forEach((select: <span class="hljs-built_in">any</span>) =&gt; {
                <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], select));
                <span class="hljs-keyword">if</span> (index &gt;= <span class="hljs-number">0</span>) {
                    val.push(<span class="hljs-keyword">this</span>.items[index]);
                }
            });
        }
        <span class="hljs-keyword">let</span> tempvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
        <span class="hljs-keyword">let</span> temptext: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
        val.forEach((select: <span class="hljs-built_in">any</span>)=&gt;{
            <span class="hljs-keyword">let</span> srfkey = select[<span class="hljs-keyword">this</span>.deKeyField] ? select[<span class="hljs-keyword">this</span>.deKeyField] : select.srfkey;
            tempvalue += srfkey+<span class="hljs-string">&quot;,&quot;</span>;
            <span class="hljs-keyword">let</span> srfmajortext = select[<span class="hljs-keyword">this</span>.deMajorField] ? select[<span class="hljs-keyword">this</span>.deMajorField] : select.srfmajortext;
            temptext += srfmajortext+<span class="hljs-string">&quot;,&quot;</span>; 
        });
        tempvalue = tempvalue.substring(<span class="hljs-number">0</span>,tempvalue.length<span class="hljs-number">-1</span>);
        temptext = temptext.substring(<span class="hljs-number">0</span>,temptext.length<span class="hljs-number">-1</span>);
        <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>,{ name: <span class="hljs-keyword">this</span>.valueitem, value: tempvalue });
        <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: temptext });
    }
</code></pre>
<p>4.&#x4E0B;&#x62C9;&#x89C6;&#x56FE;&#x9009;&#x4E2D;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onViewdatasChange($event: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">if</span>($event.length == <span class="hljs-number">0</span>){
            <span class="hljs-keyword">this</span>.onClear(<span class="hljs-literal">null</span>);
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.isSingleSelect){
             <span class="hljs-keyword">this</span>.visible = <span class="hljs-literal">false</span>;
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
                <span class="hljs-keyword">let</span> tempvalue = $event[<span class="hljs-number">0</span>][<span class="hljs-keyword">this</span>.deKeyField] ? $event[<span class="hljs-number">0</span>][<span class="hljs-keyword">this</span>.deKeyField] : $event[<span class="hljs-number">0</span>].srfkey;
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: tempvalue });
            }
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
                <span class="hljs-keyword">let</span> temptext = $event[<span class="hljs-number">0</span>][<span class="hljs-keyword">this</span>.deMajorField] ? $event[<span class="hljs-number">0</span>][<span class="hljs-keyword">this</span>.deMajorField] : $event[<span class="hljs-number">0</span>].srfmajortext;
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: temptext });
            }
        }<span class="hljs-keyword">else</span>{
            <span class="hljs-keyword">let</span> tempvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
            <span class="hljs-keyword">let</span> temptext: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
            <span class="hljs-keyword">if</span> ($event &amp;&amp; <span class="hljs-built_in">Array</span>.isArray($event)) {
                $event.forEach((select: <span class="hljs-built_in">any</span>) =&gt; {
                    <span class="hljs-keyword">let</span> srfkey = select[<span class="hljs-keyword">this</span>.deKeyField] ? select[<span class="hljs-keyword">this</span>.deKeyField] : select.srfkey;
                    tempvalue += srfkey+<span class="hljs-string">&quot;,&quot;</span>;
                    <span class="hljs-keyword">let</span> srfmajortext = select[<span class="hljs-keyword">this</span>.deMajorField] ? select[<span class="hljs-keyword">this</span>.deMajorField] : select.srfmajortext;
                    temptext += srfmajortext+<span class="hljs-string">&quot;,&quot;</span>; 
                    <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item) =&gt; <span class="hljs-built_in">Object</span>.is(item.srfkey, srfkey));
                    <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span>) {
                        <span class="hljs-keyword">this</span>.items.push({ srfmajortext : srfmajortext, srfkey: srfkey });
                    }
                });
            }
            tempvalue = tempvalue.substring(<span class="hljs-number">0</span>,tempvalue.length<span class="hljs-number">-1</span>);
            temptext = temptext.substring(<span class="hljs-number">0</span>,temptext.length<span class="hljs-number">-1</span>);
            <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.valueitem){
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>,{ name: <span class="hljs-keyword">this</span>.valueitem, value: tempvalue });
            }
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: temptext });
            }
        }
    }
</code></pre>
<h2 id="&#x6570;&#x636E;&#x9009;&#x62E9;&#x4E0B;&#x62C9;&#x89C6;&#x56FE;&#x6570;&#x636E;&#x8FDE;&#x63A5;"><a href="https://modelapi.ibizlab.cn/#/net/ibizsys/model/control/editor/IPSPicker" target="_blank">&#x6570;&#x636E;&#x9009;&#x62E9;(&#x4E0B;&#x62C9;&#x89C6;&#x56FE;,&#x6570;&#x636E;&#x8FDE;&#x63A5;)</a></h2>
<p>&#x901A;&#x8FC7;&#x9F20;&#x6807;&#x70B9;&#x51FB;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x89C6;&#x56FE;,&#x5E76;&#x53EF;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200819165824909.png" alt="image-20200819165824909"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;"><a href="http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7res/blob/master/src/components/app-picker-select-view/app-picker-select-view.vue" target="_blank">&#x57FA;&#x7840;&#x7528;&#x6CD5;</a></h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E460001</td>
<td>value</td>
<td>&#x4F20;&#x5165;&#x503C;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E460002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E460003</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E460004</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E460005</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E460006</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E460007</td>
<td>pickupView</td>
<td>&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E460008</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E460009</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E460010</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E460011</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E460012</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E460013</td>
<td>linkview</td>
<td>&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getLinkPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E460014</td>
<td>placeholder</td>
<td>&#x7A7A;&#x767D;&#x63D0;&#x793A;&#x4FE1;&#x606F;</td>
<td>getPlaceHolder()</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E460015</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E460017</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E460003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E460004</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E460007</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E460011</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E460012</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E460013</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x6570;&#x636E;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x76D1;&#x63A7;&#x503C;&#x53D8;&#x5316;&#xFF0C;&#x5355;&#x9009;&#x65F6;&#x76F4;&#x63A5;&#x5C06;&#x65B0;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x8F93;&#x5165;&#x6846;&#x503C;(&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x4E3A;&#x5355;&#x9009;&#x7C7B;&#x578B;&#x7684;&#x7F16;&#x8F91;&#x5668;)&#xFF0C;&#x518D;&#x5C06;&#x9009;&#x62E9;&#x6570;&#x636E;&#x653E;&#x5165;&#x89C6;&#x56FE;&#x53C2;&#x6570;(&#x4E0B;&#x62C9;&#x5C55;&#x5F00;&#x7684;&#x89C6;&#x56FE;&#x5C31;&#x80FD;&#x901A;&#x8FC7;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#x6765;&#x83B7;&#x53D6;&#x5230;&#x5DF2;&#x9009;&#x4E2D;&#x6570;&#x636E;)&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x8F93;&#x5165;&#x6846;&#x503C;</span>
    <span class="hljs-keyword">public</span> queryValue: <span class="hljs-built_in">any</span> = <span class="hljs-string">&apos;&apos;</span>;    

    @Watch(<span class="hljs-string">&apos;value&apos;</span>, { deep: <span class="hljs-literal">true</span> })
    <span class="hljs-keyword">public</span> onValueChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.isSingleSelect){
            <span class="hljs-comment">//&#x5355;&#x9009;</span>
            <span class="hljs-keyword">this</span>.queryValue = newVal;
            <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.data || !<span class="hljs-keyword">this</span>.valueitem || !<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem]) {
                <span class="hljs-keyword">this</span>.$Notice.error({ title: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.error&apos;</span>) as <span class="hljs-built_in">any</span>), desc: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.editor&apos;</span>) as <span class="hljs-built_in">any</span>)+<span class="hljs-keyword">this</span>.name+(<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.valueitemException&apos;</span>) as <span class="hljs-built_in">any</span>) });
            }<span class="hljs-keyword">else</span>{
                <span class="hljs-keyword">let</span> _viewparam = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-keyword">this</span>.viewparam);
                _viewparam.selectedData = [{srfkey: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem], srfmajortext: <span class="hljs-keyword">this</span>.value }];
                <span class="hljs-keyword">this</span>.viewparam = <span class="hljs-built_in">JSON</span>.stringify(_viewparam);
            }
        }<span class="hljs-keyword">else</span>{
            <span class="hljs-comment">//&#x591A;&#x9009;</span>
            <span class="hljs-keyword">this</span>.keySet = [];
            <span class="hljs-keyword">this</span>.selectItems = [];
            <span class="hljs-keyword">if</span> (newVal) {
                <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.data || !<span class="hljs-keyword">this</span>.valueitem || !<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem]) {
                    <span class="hljs-keyword">this</span>.$Notice.error({ title: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.error&apos;</span>) as <span class="hljs-built_in">any</span>), desc: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.editor&apos;</span>) as <span class="hljs-built_in">any</span>)+<span class="hljs-keyword">this</span>.name+(<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.valueitemException&apos;</span>) as <span class="hljs-built_in">any</span>) });
                }<span class="hljs-keyword">else</span>{
                    <span class="hljs-keyword">let</span> tempvalue: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem].split(<span class="hljs-string">&apos;,&apos;</span>);
                    <span class="hljs-keyword">let</span> temptext: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = newVal.split(<span class="hljs-string">&apos;,&apos;</span>);
                    tempvalue.forEach((srfkey: <span class="hljs-built_in">any</span>, index: <span class="hljs-built_in">number</span>)=&gt;{
                        <span class="hljs-keyword">this</span>.selectItems.push({ srfmajortext : temptext[index], srfkey: srfkey });
                    });
                    <span class="hljs-keyword">this</span>.selectItems.forEach((item: <span class="hljs-built_in">any</span>) =&gt; {
                        <span class="hljs-keyword">this</span>.keySet.push(item.srfkey);
                        <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((i) =&gt; <span class="hljs-built_in">Object</span>.is(i.srfkey, item.srfkey));
                        <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span>) {
                            <span class="hljs-keyword">this</span>.items.push({ srfmajortext : item.srfmajortext, srfkey: item.srfkey });
                        }
                    });
                }
            }
            <span class="hljs-keyword">let</span> _viewparam = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-keyword">this</span>.viewparam);
            _viewparam.selectedData = <span class="hljs-keyword">this</span>.selectItems;
            <span class="hljs-keyword">this</span>.viewparam = <span class="hljs-built_in">JSON</span>.stringify(_viewparam);
        }
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>2.&#x6570;&#x636E;&#x6E05;&#x9664;&#xFF0C;&#x629B;&#x51FA;formitemvaluechange&#x4E8B;&#x4EF6;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onClear($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: <span class="hljs-string">&apos;&apos;</span> });
        }
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
</code></pre>
<p>3.&#x4E0B;&#x62C9;&#x9009;&#x4E2D;&#x65F6;&#x7684;&#x56DE;&#x8C03;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onSelectChange(selects: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> val: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
        <span class="hljs-keyword">if</span> (selects.length &gt; <span class="hljs-number">0</span>) {
            selects.forEach((select: <span class="hljs-built_in">any</span>) =&gt; {
                <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], select));
                <span class="hljs-keyword">if</span> (index &gt;= <span class="hljs-number">0</span>) {
                    val.push(<span class="hljs-keyword">this</span>.items[index]);
                }
            });
        }
        <span class="hljs-keyword">let</span> tempvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
        <span class="hljs-keyword">let</span> temptext: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
        val.forEach((select: <span class="hljs-built_in">any</span>)=&gt;{
            <span class="hljs-keyword">let</span> srfkey = select[<span class="hljs-keyword">this</span>.deKeyField] ? select[<span class="hljs-keyword">this</span>.deKeyField] : select.srfkey;
            tempvalue += srfkey+<span class="hljs-string">&quot;,&quot;</span>;
            <span class="hljs-keyword">let</span> srfmajortext = select[<span class="hljs-keyword">this</span>.deMajorField] ? select[<span class="hljs-keyword">this</span>.deMajorField] : select.srfmajortext;
            temptext += srfmajortext+<span class="hljs-string">&quot;,&quot;</span>; 
        });
        tempvalue = tempvalue.substring(<span class="hljs-number">0</span>,tempvalue.length<span class="hljs-number">-1</span>);
        temptext = temptext.substring(<span class="hljs-number">0</span>,temptext.length<span class="hljs-number">-1</span>);
        <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>,{ name: <span class="hljs-keyword">this</span>.valueitem, value: tempvalue });
        <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: temptext });
    }
</code></pre>
<p>4.&#x4E0B;&#x62C9;&#x89C6;&#x56FE;&#x9009;&#x4E2D;&#x65F6;&#x7684;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onViewdatasChange($event: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">if</span>($event.length == <span class="hljs-number">0</span>){
            <span class="hljs-keyword">this</span>.onClear(<span class="hljs-literal">null</span>);
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.isSingleSelect){
             <span class="hljs-keyword">this</span>.visible = <span class="hljs-literal">false</span>;
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueitem) {
                <span class="hljs-keyword">let</span> tempvalue = $event[<span class="hljs-number">0</span>][<span class="hljs-keyword">this</span>.deKeyField] ? $event[<span class="hljs-number">0</span>][<span class="hljs-keyword">this</span>.deKeyField] : $event[<span class="hljs-number">0</span>].srfkey;
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueitem, value: tempvalue });
            }
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
                <span class="hljs-keyword">let</span> temptext = $event[<span class="hljs-number">0</span>][<span class="hljs-keyword">this</span>.deMajorField] ? $event[<span class="hljs-number">0</span>][<span class="hljs-keyword">this</span>.deMajorField] : $event[<span class="hljs-number">0</span>].srfmajortext;
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: temptext });
            }
        }<span class="hljs-keyword">else</span>{
            <span class="hljs-keyword">let</span> tempvalue: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
            <span class="hljs-keyword">let</span> temptext: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
            <span class="hljs-keyword">if</span> ($event &amp;&amp; <span class="hljs-built_in">Array</span>.isArray($event)) {
                $event.forEach((select: <span class="hljs-built_in">any</span>) =&gt; {
                    <span class="hljs-keyword">let</span> srfkey = select[<span class="hljs-keyword">this</span>.deKeyField] ? select[<span class="hljs-keyword">this</span>.deKeyField] : select.srfkey;
                    tempvalue += srfkey+<span class="hljs-string">&quot;,&quot;</span>;
                    <span class="hljs-keyword">let</span> srfmajortext = select[<span class="hljs-keyword">this</span>.deMajorField] ? select[<span class="hljs-keyword">this</span>.deMajorField] : select.srfmajortext;
                    temptext += srfmajortext+<span class="hljs-string">&quot;,&quot;</span>; 
                    <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item) =&gt; <span class="hljs-built_in">Object</span>.is(item.srfkey, srfkey));
                    <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span>) {
                        <span class="hljs-keyword">this</span>.items.push({ srfmajortext : srfmajortext, srfkey: srfkey });
                    }
                });
            }
            tempvalue = tempvalue.substring(<span class="hljs-number">0</span>,tempvalue.length<span class="hljs-number">-1</span>);
            temptext = temptext.substring(<span class="hljs-number">0</span>,temptext.length<span class="hljs-number">-1</span>);
            <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.valueitem){
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>,{ name: <span class="hljs-keyword">this</span>.valueitem, value: tempvalue });
            }
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: temptext });
            }
        }
    }
</code></pre>
<p>5.&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#xFF0C;&#x6839;&#x636E;&#x6570;&#x636E;&#x94FE;&#x63A5;&#x53C2;&#x6570;&#x6765;&#x5224;&#x65AD;&#x6253;&#x5F00;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x7684;&#x65B9;&#x5F0F;&#xFF0C;&#x5E76;&#x5C06;&#x94FE;&#x63A5;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#x548C;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#x4F20;&#x5165;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openLinkView($event: <span class="hljs-built_in">any</span>): <span class="hljs-built_in">void</span> {
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.data || !<span class="hljs-keyword">this</span>.valueitem || !<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem]) {
            <span class="hljs-built_in">console</span>.error({ title: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.error&apos;</span>) as <span class="hljs-built_in">any</span>), desc: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.editor&apos;</span>) as <span class="hljs-built_in">any</span>)+<span class="hljs-keyword">this</span>.name+(<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appPickerSelectView.valueitemException&apos;</span>) as <span class="hljs-built_in">any</span>) });
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        <span class="hljs-built_in">Object</span>.assign(_context, { [<span class="hljs-keyword">this</span>.deKeyField]: <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.valueitem] });
        <span class="hljs-keyword">const</span> view = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.linkview));
        <span class="hljs-keyword">const</span> viewname2: <span class="hljs-built_in">string</span> = <span class="hljs-keyword">this</span>.$util.srfFilePath2(view.viewname);
        view.viewname = viewname2;

        <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;INDEXVIEWTAB&apos;</span>) || <span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openIndexViewTab(view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPOVER&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openPopOver($event, view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(view.placement, <span class="hljs-string">&apos;POPUPMODAL&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openPopupModal(view, _context, _param);
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (view.placement.startsWith(<span class="hljs-string">&apos;DRAWER&apos;</span>)) {
            <span class="hljs-keyword">this</span>.openDrawer(view, _context, _param);
        }
    }
</code></pre>
<h2 id="&#x6570;&#x636E;&#x9009;&#x62E9;-&#x5D4C;&#x5165;&#x9009;&#x62E9;&#x89C6;&#x56FE;"><a href="https://modelapi.ibizlab.cn/#/net/ibizsys/model/control/editor/IPSPickupView" target="_blank">&#x6570;&#x636E;&#x9009;&#x62E9;-&#x5D4C;&#x5165;&#x9009;&#x62E9;&#x89C6;&#x56FE;</a></h2>
<p>&#x5728;&#x9875;&#x9762;&#x4E0A;&#x5D4C;&#x5165;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200819194115398.png" alt="image-20200819194115398"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;">&#x57FA;&#x7840;&#x7528;&#x6CD5;</h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E470001</td>
<td>value</td>
<td>&#x4F20;&#x5165;&#x503C;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E470002</td>
<td>formState</td>
<td>&#x8868;&#x5355;&#x72B6;&#x6001;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;formState&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E470003</td>
<td>refviewname</td>
<td>&#x5173;&#x8054;&#x89C6;&#x56FE;&#x540D;&#x79F0;</td>
<td>getRefPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E470004</td>
<td>emptyText</td>
<td>&#x7A7A;&#x503C;&#x6587;&#x672C;</td>
<td>getPlaceHolder()</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E470005</td>
<td>refreshitems</td>
<td>&#x91CD;&#x7F6E;&#x9879;</td>
<td>getResetItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x91CD;&#x7F6E;&#x9879;</td>
</tr>
<tr>
<td>E470006</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E470007</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E470008</td>
<td>ignorefieldvaluechange</td>
<td>&#x662F;&#x5426;&#x5FFD;&#x7565;&#x503C;&#x53D8;&#x5316;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;ignorefieldvaluechange&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E470009</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E470010</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E470011</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E470012</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E470013</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E470014</td>
<td>placeholder</td>
<td>&#x7A7A;&#x767D;&#x63D0;&#x793A;&#x4FE1;&#x606F;</td>
<td>getPlaceHolder()</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E470015</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E470016</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E470003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5F15;&#x7528;&#x5B9E;&#x4F53;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x540D;&#x79F0;</td>
</tr>
<tr>
<td>E470012</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E470013</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x521B;&#x5EFA;&#x65F6;&#x8BBE;&#x7F6E;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x5C06;&#x9009;&#x4E2D;&#x9879;&#x6570;&#x636E;&#x96C6;&#x52A0;&#x5165;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#x4E2D;&#xFF08;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x4F20;&#x5165;&#x7684;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#x83B7;&#x53D6;&#x5230;&#x5DF2;&#x9009;&#x4E2D;&#x7684;&#x6570;&#x636E;&#xFF09;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> created() {
        <span class="hljs-keyword">this</span>.setViewParam();
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.formState) {
            <span class="hljs-keyword">this</span>.formStateEvent = <span class="hljs-keyword">this</span>.formState.subscribe(({ tag, action, data }) =&gt; {
                <span class="hljs-keyword">if</span> (<span class="hljs-built_in">Object</span>.is(<span class="hljs-string">&apos;load&apos;</span>, action)) {
                    <span class="hljs-keyword">this</span>.setViewParam();
                }
            });
        }
    }

    <span class="hljs-keyword">public</span> setViewParam() {
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.data) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-keyword">let</span> formData:<span class="hljs-built_in">any</span> = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-keyword">this</span>.data);
        <span class="hljs-keyword">let</span> arg: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-comment">// &#x5408;&#x5E76;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#x53C2;&#x6570;&#x548C;&#x89C6;&#x56FE;&#x53C2;&#x6570;</span>
        arg.param = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.viewparams));
        arg.context = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.context));
        <span class="hljs-keyword">if</span>(formData[<span class="hljs-keyword">this</span>.name] &amp;&amp; formData[<span class="hljs-keyword">this</span>.valueItem]){
            <span class="hljs-keyword">let</span> selectItems:<span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
            <span class="hljs-keyword">let</span> tempvalue: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = formData[<span class="hljs-keyword">this</span>.valueItem].split(<span class="hljs-string">&apos;,&apos;</span>);
            <span class="hljs-keyword">let</span> temptext: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = formData[<span class="hljs-keyword">this</span>.name].split(<span class="hljs-string">&apos;,&apos;</span>);
            tempvalue.forEach((srfkey: <span class="hljs-built_in">any</span>, index: <span class="hljs-built_in">number</span>)=&gt;{
                selectItems.push({ srfmajortext : temptext[index], srfkey: srfkey });
            });
            arg.param.selectedData = selectItems;
            <span class="hljs-keyword">this</span>.$forceUpdate();
        }
        <span class="hljs-comment">// &#x9644;&#x52A0;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
         <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.localContext &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.localContext).length &gt;<span class="hljs-number">0</span>) {
            <span class="hljs-keyword">let</span> _context = <span class="hljs-keyword">this</span>.$util.computedNavData(formData,arg.context,arg.param,<span class="hljs-keyword">this</span>.localContext);
            <span class="hljs-built_in">Object</span>.assign(arg.context,_context);
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.localParam &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.localParam).length &gt;<span class="hljs-number">0</span>) {
            <span class="hljs-keyword">let</span> _param = <span class="hljs-keyword">this</span>.$util.computedNavData(formData,arg.context,arg.param,<span class="hljs-keyword">this</span>.localParam);
            <span class="hljs-built_in">Object</span>.assign(arg.param,_param);
        }
        <span class="hljs-keyword">this</span>.viewdata = <span class="hljs-built_in">JSON</span>.stringify(arg.context);
        <span class="hljs-keyword">this</span>.viewparam = <span class="hljs-built_in">JSON</span>.stringify(arg.param);
    }
</code></pre>
<p>2.&#x76D1;&#x63A7;&#x8868;&#x5355;&#x6570;&#x636E;&#x53D8;&#x5316;&#xFF0C;&#x4ECE;&#x65B0;&#x8BBE;&#x7F6E;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x5C06;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    @Watch(<span class="hljs-string">&apos;data&apos;</span>)
    onActivedataChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">const</span> newFormData: <span class="hljs-built_in">any</span> = <span class="hljs-built_in">JSON</span>.parse(newVal);
        <span class="hljs-keyword">const</span> oldDormData: <span class="hljs-built_in">any</span> = <span class="hljs-built_in">JSON</span>.parse(oldVal);
        <span class="hljs-keyword">this</span>.setViewParam();
        <span class="hljs-keyword">if</span> (!<span class="hljs-keyword">this</span>.refreshitems || <span class="hljs-keyword">this</span>.ignorefieldvaluechange) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-keyword">if</span>(<span class="hljs-built_in">Object</span>.is(newFormData[<span class="hljs-keyword">this</span>.refreshitems], oldDormData[<span class="hljs-keyword">this</span>.refreshitems])) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueItem) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueItem, value: <span class="hljs-literal">null</span> });
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: <span class="hljs-literal">null</span> });
        }
    }
</code></pre>
<p>3.&#x9009;&#x5219;&#x89C6;&#x56FE;&#x629B;&#x51FA;&#x503C;&#x5904;&#x7406;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> setValue(item: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> srfkey: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
        <span class="hljs-keyword">let</span> srfmajortext: <span class="hljs-built_in">string</span> = <span class="hljs-string">&apos;&apos;</span>;
        <span class="hljs-keyword">if</span>(item &amp;&amp; <span class="hljs-built_in">Array</span>.isArray(item)){
            item.forEach((select: <span class="hljs-built_in">any</span>)=&gt;{
                srfkey += select.srfkey+<span class="hljs-string">&quot;,&quot;</span>;
                srfmajortext += select.srfmajortext+<span class="hljs-string">&apos;,&apos;</span>;
            })
            srfkey = srfkey.substring(<span class="hljs-number">0</span>,srfkey.length<span class="hljs-number">-1</span>);
            srfmajortext = srfmajortext.substring(<span class="hljs-number">0</span>,srfmajortext.length<span class="hljs-number">-1</span>);
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.valueItem) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.valueItem, value: srfkey });
            }
            <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name) {
                <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: srfmajortext });
            }
        }
    }
</code></pre>
<h2 id="&#x5730;&#x5740;&#x6846;-&#x9009;&#x62E9;">&#x5730;&#x5740;&#x6846;-&#x9009;&#x62E9;</h2>
<p>&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x6765;&#x9009;&#x62E9;&#x6570;&#x636E;&#xFF0C;&#x5E76;&#x53EF;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200820093843979.png" alt="image-20200820093843979"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;">&#x57FA;&#x7840;&#x7528;&#x6CD5;</h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E480001</td>
<td>curvalue</td>
<td>&#x4F20;&#x5165;&#x503C;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E480002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E480003</td>
<td>acParams</td>
<td>AC&#x53C2;&#x6570;</td>
<td>getPSAppDEDataSet()&#x3001;getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E480004</td>
<td>service</td>
<td>&#x8868;&#x5355;&#x670D;&#x52A1;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;service&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E480005</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E480006</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E480007</td>
<td>activeData</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E480008</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E480009</td>
<td>url</td>
<td>&#x4F20;&#x5165;url</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E480010</td>
<td>editorParams</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E480011</td>
<td>pickupView</td>
<td>&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E480012</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E480013</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E480014</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E480015</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E480016</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E480017</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E480018</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E480003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x548C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x7ED3;&#x679C;&#x96C6;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E480005</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E480006</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E480011</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E480015</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E480016</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x76D1;&#x542C;&#x8868;&#x5355;&#x9879;&#x503C;&#xFF0C;&#x503C;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x5C06;&#x65B0;&#x503C;&#x653E;&#x5165;&#x9009;&#x4E2D;&#x9879;key-value&#x952E;&#x503C;&#x5BF9;&#x96C6;&#x5408;&#x4E2D;&#xFF0C;&#x518D;&#x5C06;&#x5176;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x503C;&#x653E;&#x5165;&#x5F53;&#x524D;&#x8868;&#x5355;&#x9879;&#x7ED1;&#x5B9A;&#x503C;key&#x96C6;&#x5408;&#x4E2D;&#x3002;&#x5E76;&#x5C06;&#x539F;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x96C6;&#x5408;&#x4E2D;&#x6CA1;&#x6709;&#x7684;&#x6570;&#x636E;&#x52A0;&#x5165;&#x8FDB;&#x53BB;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x5F53;&#x524D;&#x8868;&#x5355;&#x9879;&#x7ED1;&#x5B9A;&#x503C;key&#x7684;&#x96C6;&#x5408;</span>
    <span class="hljs-keyword">public</span> value: <span class="hljs-built_in">any</span> = [];
    <span class="hljs-comment">//&#x9009;&#x4E2D;&#x9879;key-value&#x952E;&#x503C;&#x5BF9;</span>
    <span class="hljs-keyword">public</span> selectItems: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
    <span class="hljs-comment">//&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x96C6;</span>
    <span class="hljs-keyword">public</span> items: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];

    @Watch(<span class="hljs-string">&apos;curvalue&apos;</span>, {immediate:<span class="hljs-literal">true</span>, deep: <span class="hljs-literal">true</span> })
    oncurvalueChange(newVal: <span class="hljs-built_in">any</span>, val: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">this</span>.value = [];
        <span class="hljs-keyword">this</span>.selectItems = [];
        <span class="hljs-keyword">if</span> (newVal) {
            <span class="hljs-keyword">try</span> {
              <span class="hljs-keyword">this</span>.selectItems = <span class="hljs-keyword">this</span>.parseValue(<span class="hljs-built_in">JSON</span>.parse(newVal));
              <span class="hljs-keyword">this</span>.selectItems.forEach((item: <span class="hljs-built_in">any</span>) =&gt; {
                  <span class="hljs-keyword">this</span>.value.push(item[<span class="hljs-keyword">this</span>.deKeyField]);
                  <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((i) =&gt; <span class="hljs-built_in">Object</span>.is(i[<span class="hljs-keyword">this</span>.deKeyField], item[<span class="hljs-keyword">this</span>.deKeyField]));
                  <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span>) {
                      <span class="hljs-keyword">this</span>.items.push({ [<span class="hljs-keyword">this</span>.deMajorField]: item[<span class="hljs-keyword">this</span>.deMajorField], [<span class="hljs-keyword">this</span>.deKeyField]: item[<span class="hljs-keyword">this</span>.deKeyField] });
                  }
              });
            } <span class="hljs-keyword">catch</span> (error) {
              <span class="hljs-keyword">if</span>(error.name === <span class="hljs-string">&apos;SyntaxError&apos;</span>){
                <span class="hljs-keyword">let</span> srfkeys:<span class="hljs-built_in">any</span> = newVal.split(<span class="hljs-string">&apos;,&apos;</span>);
                <span class="hljs-keyword">let</span> srfmajortexts:<span class="hljs-built_in">any</span> = <span class="hljs-literal">null</span>;
                <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.valueitem &amp;&amp; <span class="hljs-keyword">this</span>.activeData[<span class="hljs-keyword">this</span>.valueitem]){
                    srfmajortexts = <span class="hljs-keyword">this</span>.activeData[<span class="hljs-keyword">this</span>.valueitem].split(<span class="hljs-string">&apos;,&apos;</span>);
                }
                <span class="hljs-keyword">if</span>(srfkeys.length &amp;&amp; srfkeys.length &gt; <span class="hljs-number">0</span> &amp;&amp; srfmajortexts.length &amp;&amp; srfmajortexts.length &gt; <span class="hljs-number">0</span> &amp;&amp; srfkeys.length == srfmajortexts.length){
                    srfkeys.forEach((id: <span class="hljs-built_in">any</span>, index: <span class="hljs-built_in">number</span>) =&gt; {
                        <span class="hljs-keyword">this</span>.value.push(id);
                        <span class="hljs-keyword">this</span>.selectItems.push({[<span class="hljs-keyword">this</span>.deKeyField]: id, [<span class="hljs-keyword">this</span>.deMajorField]: srfmajortexts[index]});
                        <span class="hljs-keyword">let</span> _index = <span class="hljs-keyword">this</span>.items.findIndex((i) =&gt; <span class="hljs-built_in">Object</span>.is(i[<span class="hljs-keyword">this</span>.deKeyField],id));
                        <span class="hljs-keyword">if</span> (_index &lt; <span class="hljs-number">0</span>) {
                            <span class="hljs-keyword">this</span>.items.push({[<span class="hljs-keyword">this</span>.deKeyField]: id, [<span class="hljs-keyword">this</span>.deMajorField]: srfmajortexts[index]});
                        }
                    });
                }
              }
            }
        }
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
    <span class="hljs-comment">//&#x89E3;&#x6790;&#x503C;,&#x628A;srfkey&#x548C;srfmajortext&#x89E3;&#x6790;&#x6210;&#x5B9E;&#x4F53;&#x5C5E;&#x6027;&#x540D;</span>
    <span class="hljs-keyword">public</span> parseValue(value: <span class="hljs-built_in">any</span>[]){
        <span class="hljs-keyword">let</span> result = [];
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.deKeyField !== <span class="hljs-string">&quot;srfkey&quot;</span> || <span class="hljs-keyword">this</span>.deMajorField !== <span class="hljs-string">&quot;srfmajortext&quot;</span>){
            value.forEach((item: <span class="hljs-built_in">any</span>) =&gt; {
                result.push({[<span class="hljs-keyword">this</span>.deMajorField]: item.srfmajortext, [<span class="hljs-keyword">this</span>.deKeyField]: item.srfkey});
            });
        }<span class="hljs-keyword">else</span>{
            result = value;
        }
        <span class="hljs-keyword">return</span> result;
    }
</code></pre>
<p>2.&#x83B7;&#x53D6;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onSearch(query: <span class="hljs-built_in">any</span>) {
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        <span class="hljs-built_in">Object</span>.assign(_param ,{ query: query });
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.activeData) {
            <span class="hljs-built_in">Object</span>.assign(_param, { srfreferdata: <span class="hljs-keyword">this</span>.activeData });
        }
        <span class="hljs-comment">// &#x9519;&#x8BEF;&#x4FE1;&#x606F;&#x56FD;&#x9645;&#x5316;</span>
        <span class="hljs-keyword">let</span> error: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appMpicker.error&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> miss: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appMpicker.miss&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> requestException: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appMpicker.requestException&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.service){
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;service&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.serviceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;serviceName&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.interfaceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;interfaceName&apos;</span> });
        } <span class="hljs-keyword">else</span> {
          <span class="hljs-keyword">this</span>.service.getItems(<span class="hljs-keyword">this</span>.acParams.serviceName,<span class="hljs-keyword">this</span>.acParams.interfaceName, _context, _param).then((response: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (!response) {
                  <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: requestException });
              } <span class="hljs-keyword">else</span> {
                  <span class="hljs-keyword">this</span>.items = [...response];
              }
          }).catch((error: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-built_in">console</span>.log(error);
          });
        }
    }
</code></pre>
<p>3.&#x4E0B;&#x62C9;&#x9009;&#x4E2D;&#x56DE;&#x8C03;&#xFF0C;&#x629B;&#x51FA;formitemvaluechange&#x4E8B;&#x4EF6;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onSelect(selects: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> val: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
        <span class="hljs-keyword">if</span> (selects.length &gt; <span class="hljs-number">0</span>) {
            selects.forEach((select: <span class="hljs-built_in">any</span>) =&gt; {
                <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], select));
                <span class="hljs-keyword">if</span> (index &gt;= <span class="hljs-number">0</span>) {
                    <span class="hljs-keyword">let</span> item = <span class="hljs-keyword">this</span>.items[index];
                    val.push({ [<span class="hljs-keyword">this</span>.deKeyField]: item[<span class="hljs-keyword">this</span>.deKeyField], [<span class="hljs-keyword">this</span>.deMajorField]: item[<span class="hljs-keyword">this</span>.deMajorField] });
                } <span class="hljs-keyword">else</span> {
                    index = <span class="hljs-keyword">this</span>.selectItems.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], select));
                    <span class="hljs-keyword">if</span> (index &gt;= <span class="hljs-number">0</span>) {
                        <span class="hljs-keyword">let</span> item = <span class="hljs-keyword">this</span>.selectItems[index];
                        val.push(item);
                    }
                }
            });
            <span class="hljs-keyword">let</span> value = val.length &gt; <span class="hljs-number">0</span> ? <span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.formatValue(val)) : <span class="hljs-string">&apos;&apos;</span>;
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: value });
        }
    }
</code></pre>
<p>4.&#x79FB;&#x9664;&#x65F6;&#x7684;&#x56DE;&#x8C03;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onRemove(tag: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.selectItems.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], tag));
        <span class="hljs-keyword">if</span> (index &gt;= <span class="hljs-number">0</span>) {
            <span class="hljs-keyword">this</span>.selectItems.splice(index, <span class="hljs-number">1</span>);
            <span class="hljs-keyword">let</span> value = <span class="hljs-keyword">this</span>.selectItems.length &gt; <span class="hljs-number">0</span> ? <span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.formatValue(<span class="hljs-keyword">this</span>.selectItems)) : <span class="hljs-string">&apos;&apos;</span>;
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: value });
        }
    }
</code></pre>
<p>5.&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x65F6;&#xFF0C;&#x5C06;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#xFF0C;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x9009;&#x4E2D;&#x6570;&#x636E;&#x96C6;&#x5408;&#x4F20;&#x5165;&#xFF0C;&#x5173;&#x95ED;&#x9009;&#x5219;&#x89C6;&#x56FE;&#x65F6;&#xFF0C;&#x503C;&#x7684;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openView() {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.disabled) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.pickupView &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.pickupView).length &gt; <span class="hljs-number">0</span>) {
            <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
            <span class="hljs-keyword">const</span> view = { ...this.pickupView };
            <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
            <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
            <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
            <span class="hljs-keyword">if</span> (!bcancel) {
                <span class="hljs-keyword">return</span>;
            }
            <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
            <span class="hljs-keyword">let</span> _context = data.context;
            <span class="hljs-keyword">let</span> _viewparams = data.param;
            <span class="hljs-keyword">let</span> _selectItems = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.selectItems));
            <span class="hljs-keyword">if</span>(!<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.deKeyField,<span class="hljs-string">&quot;srfkey&quot;</span>)){
                _selectItems.forEach((item:<span class="hljs-built_in">any</span>, index:<span class="hljs-built_in">number</span>)=&gt;{
                    _selectItems[index].srfkey = item[<span class="hljs-keyword">this</span>.deKeyField];
                });
            }
            _context = <span class="hljs-built_in">Object</span>.assign(_context, { srfparentdata: { srfparentkey: <span class="hljs-keyword">this</span>.activeData[<span class="hljs-keyword">this</span>.deKeyField] }, });
            _viewparams = <span class="hljs-built_in">Object</span>.assign(_viewparams,{ selectedData: [..._selectItems]});
            <span class="hljs-keyword">let</span> formdata = <span class="hljs-keyword">this</span>.activeData;
            <span class="hljs-keyword">const</span> modal: Subject&lt;<span class="hljs-built_in">any</span>&gt; = <span class="hljs-keyword">this</span>.$appmodal.openModal(view, _context, _viewparams)
            <span class="hljs-comment">//&#x5173;&#x95ED;&#x89C6;&#x56FE;&#x7684;&#x56DE;&#x8C03;</span>
            modal.subscribe((result: <span class="hljs-built_in">any</span>) =&gt; {
                <span class="hljs-keyword">if</span> (!result || !<span class="hljs-built_in">Object</span>.is(result.ret, <span class="hljs-string">&apos;OK&apos;</span>)) {
                    <span class="hljs-keyword">return</span>;
                }
                <span class="hljs-keyword">let</span> selects: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
                <span class="hljs-keyword">if</span> (result.datas &amp;&amp; <span class="hljs-built_in">Array</span>.isArray(result.datas)) {
                    result.datas.forEach((select: <span class="hljs-built_in">any</span>) =&gt; {
                        selects.push({ [<span class="hljs-keyword">this</span>.deKeyField]: select[<span class="hljs-keyword">this</span>.deKeyField], [<span class="hljs-keyword">this</span>.deMajorField]: select[<span class="hljs-keyword">this</span>.deMajorField] });
                        <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], select[<span class="hljs-keyword">this</span>.deKeyField]));
                        <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span>) {
                            <span class="hljs-keyword">this</span>.items.push({ [<span class="hljs-keyword">this</span>.deMajorField]: select[<span class="hljs-keyword">this</span>.deMajorField], [<span class="hljs-keyword">this</span>.deKeyField]: select[<span class="hljs-keyword">this</span>.deKeyField] });
                        }
                    });
                }
                <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name &amp;&amp; <span class="hljs-keyword">this</span>.activeData) {
                    <span class="hljs-keyword">let</span> value = selects.length &gt; <span class="hljs-number">0</span> ? <span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.formatValue(selects)) : <span class="hljs-string">&apos;&apos;</span>;
                    <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: value });
                }
            })
        }
    }
</code></pre>
<h2 id="&#x5730;&#x5740;&#x6846;&#x652F;&#x6301;&#x9009;&#x62E9;&#xFF0C;ac">&#x5730;&#x5740;&#x6846;(&#x652F;&#x6301;&#x9009;&#x62E9;&#xFF0C;AC)<div id="page3"></div></h2>
<p>&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x6765;&#x9009;&#x62E9;&#x6570;&#x636E;&#xFF0C;&#x5E76;&#x53EF;&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200820095008508.png" alt="image-20200820095008508"></p>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;">&#x57FA;&#x7840;&#x7528;&#x6CD5;</h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E490001</td>
<td>curvalue</td>
<td>&#x4F20;&#x5165;&#x503C;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E490002</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E490003</td>
<td>acParams</td>
<td>AC&#x53C2;&#x6570;</td>
<td>getPSAppDEDataSet()&#x3001;getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E490004</td>
<td>service</td>
<td>&#x8868;&#x5355;&#x670D;&#x52A1;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;service&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E490005</td>
<td>deMajorField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E490006</td>
<td>deKeyField</td>
<td>&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x540D;</td>
<td>getPSAppDataEntity()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E490007</td>
<td>activeData</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E490008</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>name</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E490009</td>
<td>url</td>
<td>&#x4F20;&#x5165;url</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E490010</td>
<td>editorParams</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
</tr>
<tr>
<td>E490011</td>
<td>pickupView</td>
<td>&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>getPickupPSAppView()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E490012</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;&#x540D;&#x79F0;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x7684;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E490013</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E490014</td>
<td>viewparams</td>
<td>&#x89C6;&#x56FE;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;viewparams&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E490015</td>
<td>localContext</td>
<td>&#x5C40;&#x90E8;&#x4E0A;&#x4E0B;&#x6587;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateContexts()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E490016</td>
<td>localParam</td>
<td>&#x5C40;&#x90E8;&#x5BFC;&#x822A;&#x53C2;&#x6570;</td>
<td>getPSNavigateParams()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E490017</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x81EA;&#x5B9A;&#x4E49;&#x7ED8;&#x5236;&#x63D2;&#x4EF6;</td>
<td>getRender()</td>
<td>&#x7ED8;&#x5236;&#x63D2;&#x4EF6;&#xFF0C;&#x8BE6;&#x89C1;&#x5FEB;&#x901F;&#x4ECB;&#x5165;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E490018</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event&#xFF1A;{name,value})</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E490003</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x548C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x7ED3;&#x679C;&#x96C6;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E490005</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4E3B;&#x4FE1;&#x606F;&#x5C5E;&#x6027;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E490006</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x5BF9;&#x8C61;&#x4EE3;&#x7801;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E490011</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF08;&#x89C6;&#x56FE;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#xFF0C;&#x5E94;&#x7528;&#x5B9E;&#x4F53;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x89C6;&#x56FE;&#x5BBD;&#xFF0C;&#x9AD8;&#x548C;&#x6253;&#x5F00;&#x65B9;&#x5F0F;&#xFF0C;&#x89C6;&#x56FE;&#x672C;&#x8EAB;&#x8DEF;&#x7531;&#xFF0C;&#x7236;&#x5173;&#x7CFB;&#x8DEF;&#x7531;&#xFF09;</td>
</tr>
<tr>
<td>E490015</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x4E0A;&#x4E0B;&#x6587;&#x96C6;&#x5408;</td>
</tr>
<tr>
<td>E490016</td>
<td>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x5BF9;&#x8C61;&#x6620;&#x5C04;&#x7684;&#x5BFC;&#x822A;&#x53C2;&#x6570;&#x96C6;&#x5408;</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x76D1;&#x542C;&#x8868;&#x5355;&#x9879;&#x503C;&#xFF0C;&#x503C;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x5C06;&#x65B0;&#x503C;&#x653E;&#x5165;&#x9009;&#x4E2D;&#x9879;key-value&#x952E;&#x503C;&#x5BF9;&#x96C6;&#x5408;&#x4E2D;&#xFF0C;&#x518D;&#x5C06;&#x5176;&#x4E3B;&#x952E;&#x5C5E;&#x6027;&#x503C;&#x653E;&#x5165;&#x5F53;&#x524D;&#x8868;&#x5355;&#x9879;&#x7ED1;&#x5B9A;&#x503C;key&#x96C6;&#x5408;&#x4E2D;&#x3002;&#x5E76;&#x5C06;&#x539F;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x96C6;&#x5408;&#x4E2D;&#x6CA1;&#x6709;&#x7684;&#x6570;&#x636E;&#x52A0;&#x5165;&#x8FDB;&#x53BB;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-comment">//&#x5F53;&#x524D;&#x8868;&#x5355;&#x9879;&#x7ED1;&#x5B9A;&#x503C;key&#x7684;&#x96C6;&#x5408;</span>
    <span class="hljs-keyword">public</span> value: <span class="hljs-built_in">any</span> = [];
    <span class="hljs-comment">//&#x9009;&#x4E2D;&#x9879;key-value&#x952E;&#x503C;&#x5BF9;</span>
    <span class="hljs-keyword">public</span> selectItems: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
    <span class="hljs-comment">//&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x96C6;</span>
    <span class="hljs-keyword">public</span> items: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];

    @Watch(<span class="hljs-string">&apos;curvalue&apos;</span>, {immediate:<span class="hljs-literal">true</span>, deep: <span class="hljs-literal">true</span> })
    oncurvalueChange(newVal: <span class="hljs-built_in">any</span>, val: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">this</span>.value = [];
        <span class="hljs-keyword">this</span>.selectItems = [];
        <span class="hljs-keyword">if</span> (newVal) {
            <span class="hljs-keyword">try</span> {
              <span class="hljs-keyword">this</span>.selectItems = <span class="hljs-keyword">this</span>.parseValue(<span class="hljs-built_in">JSON</span>.parse(newVal));
              <span class="hljs-keyword">this</span>.selectItems.forEach((item: <span class="hljs-built_in">any</span>) =&gt; {
                  <span class="hljs-keyword">this</span>.value.push(item[<span class="hljs-keyword">this</span>.deKeyField]);
                  <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((i) =&gt; <span class="hljs-built_in">Object</span>.is(i[<span class="hljs-keyword">this</span>.deKeyField], item[<span class="hljs-keyword">this</span>.deKeyField]));
                  <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span>) {
                      <span class="hljs-keyword">this</span>.items.push({ [<span class="hljs-keyword">this</span>.deMajorField]: item[<span class="hljs-keyword">this</span>.deMajorField], [<span class="hljs-keyword">this</span>.deKeyField]: item[<span class="hljs-keyword">this</span>.deKeyField] });
                  }
              });
            } <span class="hljs-keyword">catch</span> (error) {
              <span class="hljs-keyword">if</span>(error.name === <span class="hljs-string">&apos;SyntaxError&apos;</span>){
                <span class="hljs-keyword">let</span> srfkeys:<span class="hljs-built_in">any</span> = newVal.split(<span class="hljs-string">&apos;,&apos;</span>);
                <span class="hljs-keyword">let</span> srfmajortexts:<span class="hljs-built_in">any</span> = <span class="hljs-literal">null</span>;
                <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.valueitem &amp;&amp; <span class="hljs-keyword">this</span>.activeData[<span class="hljs-keyword">this</span>.valueitem]){
                    srfmajortexts = <span class="hljs-keyword">this</span>.activeData[<span class="hljs-keyword">this</span>.valueitem].split(<span class="hljs-string">&apos;,&apos;</span>);
                }
                <span class="hljs-keyword">if</span>(srfkeys.length &amp;&amp; srfkeys.length &gt; <span class="hljs-number">0</span> &amp;&amp; srfmajortexts.length &amp;&amp; srfmajortexts.length &gt; <span class="hljs-number">0</span> &amp;&amp; srfkeys.length == srfmajortexts.length){
                    srfkeys.forEach((id: <span class="hljs-built_in">any</span>, index: <span class="hljs-built_in">number</span>) =&gt; {
                        <span class="hljs-keyword">this</span>.value.push(id);
                        <span class="hljs-keyword">this</span>.selectItems.push({[<span class="hljs-keyword">this</span>.deKeyField]: id, [<span class="hljs-keyword">this</span>.deMajorField]: srfmajortexts[index]});
                        <span class="hljs-keyword">let</span> _index = <span class="hljs-keyword">this</span>.items.findIndex((i) =&gt; <span class="hljs-built_in">Object</span>.is(i[<span class="hljs-keyword">this</span>.deKeyField],id));
                        <span class="hljs-keyword">if</span> (_index &lt; <span class="hljs-number">0</span>) {
                            <span class="hljs-keyword">this</span>.items.push({[<span class="hljs-keyword">this</span>.deKeyField]: id, [<span class="hljs-keyword">this</span>.deMajorField]: srfmajortexts[index]});
                        }
                    });
                }
              }
            }
        }
        <span class="hljs-keyword">this</span>.$forceUpdate();
    }
    <span class="hljs-comment">//&#x89E3;&#x6790;&#x503C;,&#x628A;srfkey&#x548C;srfmajortext&#x89E3;&#x6790;&#x6210;&#x5B9E;&#x4F53;&#x5C5E;&#x6027;&#x540D;</span>
    <span class="hljs-keyword">public</span> parseValue(value: <span class="hljs-built_in">any</span>[]){
        <span class="hljs-keyword">let</span> result = [];
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.deKeyField !== <span class="hljs-string">&quot;srfkey&quot;</span> || <span class="hljs-keyword">this</span>.deMajorField !== <span class="hljs-string">&quot;srfmajortext&quot;</span>){
            value.forEach((item: <span class="hljs-built_in">any</span>) =&gt; {
                result.push({[<span class="hljs-keyword">this</span>.deMajorField]: item.srfmajortext, [<span class="hljs-keyword">this</span>.deKeyField]: item.srfkey});
            });
        }<span class="hljs-keyword">else</span>{
            result = value;
        }
        <span class="hljs-keyword">return</span> result;
    }
</code></pre>
<p>2.&#x83B7;&#x53D6;&#x4E0B;&#x62C9;&#x5217;&#x8868;&#x6570;&#x636E;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onSearch(query: <span class="hljs-built_in">any</span>) {
        <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
        <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
        <span class="hljs-keyword">if</span> (!bcancel) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
        <span class="hljs-keyword">let</span> _context = data.context;
        <span class="hljs-keyword">let</span> _param = data.param;
        <span class="hljs-built_in">Object</span>.assign(_param ,{ query: query });
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.activeData) {
            <span class="hljs-built_in">Object</span>.assign(_param, { srfreferdata: <span class="hljs-keyword">this</span>.activeData });
        }
        <span class="hljs-comment">// &#x9519;&#x8BEF;&#x4FE1;&#x606F;&#x56FD;&#x9645;&#x5316;</span>
        <span class="hljs-keyword">let</span> error: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appMpicker.error&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> miss: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appMpicker.miss&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">let</span> requestException: <span class="hljs-built_in">string</span> = (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appMpicker.requestException&apos;</span>) as <span class="hljs-built_in">any</span>);
        <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.service){
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;service&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.serviceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;serviceName&apos;</span> });
        } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.acParams.interfaceName) {
            <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: miss+<span class="hljs-string">&apos;interfaceName&apos;</span> });
        } <span class="hljs-keyword">else</span> {
          <span class="hljs-keyword">this</span>.service.getItems(<span class="hljs-keyword">this</span>.acParams.serviceName,<span class="hljs-keyword">this</span>.acParams.interfaceName, _context, _param).then((response: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-keyword">if</span> (!response) {
                  <span class="hljs-keyword">this</span>.$Notice.error({ title: error, desc: requestException });
              } <span class="hljs-keyword">else</span> {
                  <span class="hljs-keyword">this</span>.items = [...response];
              }
          }).catch((error: <span class="hljs-built_in">any</span>) =&gt; {
              <span class="hljs-built_in">console</span>.log(error);
          });
        }
    }
</code></pre>
<p>3.&#x4E0B;&#x62C9;&#x9009;&#x4E2D;&#x56DE;&#x8C03;&#xFF0C;&#x5E76;&#x5C06;&#x503C;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onSelect(selects: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> val: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
        <span class="hljs-keyword">if</span> (selects.length &gt; <span class="hljs-number">0</span>) {
            selects.forEach((select: <span class="hljs-built_in">any</span>) =&gt; {
                <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], select));
                <span class="hljs-keyword">if</span> (index &gt;= <span class="hljs-number">0</span>) {
                    <span class="hljs-keyword">let</span> item = <span class="hljs-keyword">this</span>.items[index];
                    val.push({ [<span class="hljs-keyword">this</span>.deKeyField]: item[<span class="hljs-keyword">this</span>.deKeyField], [<span class="hljs-keyword">this</span>.deMajorField]: item[<span class="hljs-keyword">this</span>.deMajorField] });
                } <span class="hljs-keyword">else</span> {
                    index = <span class="hljs-keyword">this</span>.selectItems.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], select));
                    <span class="hljs-keyword">if</span> (index &gt;= <span class="hljs-number">0</span>) {
                        <span class="hljs-keyword">let</span> item = <span class="hljs-keyword">this</span>.selectItems[index];
                        val.push(item);
                    }
                }
            });
            <span class="hljs-keyword">let</span> value = val.length &gt; <span class="hljs-number">0</span> ? <span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.formatValue(val)) : <span class="hljs-string">&apos;&apos;</span>;
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: value });
        }
    }
</code></pre>
<p>4.&#x79FB;&#x9664;&#x65F6;&#x7684;&#x56DE;&#x8C03;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onRemove(tag: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.selectItems.findIndex((item: <span class="hljs-built_in">any</span>) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], tag));
        <span class="hljs-keyword">if</span> (index &gt;= <span class="hljs-number">0</span>) {
            <span class="hljs-keyword">this</span>.selectItems.splice(index, <span class="hljs-number">1</span>);
            <span class="hljs-keyword">let</span> value = <span class="hljs-keyword">this</span>.selectItems.length &gt; <span class="hljs-number">0</span> ? <span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.formatValue(<span class="hljs-keyword">this</span>.selectItems)) : <span class="hljs-string">&apos;&apos;</span>;
            <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: value });
        }
    }
</code></pre>
<p>5.&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x65F6;&#xFF0C;&#x5C06;&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;&#xFF0C;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x53C2;&#x6570;&#xFF0C;&#x9009;&#x4E2D;&#x6570;&#x636E;&#x96C6;&#x5408;&#x4F20;&#x5165;&#xFF0C;&#x5173;&#x95ED;&#x9009;&#x5219;&#x89C6;&#x56FE;&#x65F6;&#xFF0C;&#x503C;&#x7684;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> openView() {
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.disabled) {
            <span class="hljs-keyword">return</span>;
        }
        <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.pickupView &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.pickupView).length &gt; <span class="hljs-number">0</span>) {
            <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
            <span class="hljs-keyword">const</span> view = { ...this.pickupView };
            <span class="hljs-comment">// &#x516C;&#x5171;&#x53C2;&#x6570;&#x5904;&#x7406;</span>
            <span class="hljs-keyword">let</span> data: <span class="hljs-built_in">any</span> = {};
            <span class="hljs-keyword">const</span> bcancel: <span class="hljs-built_in">boolean</span> = <span class="hljs-keyword">this</span>.handlePublicParams(data);
            <span class="hljs-keyword">if</span> (!bcancel) {
                <span class="hljs-keyword">return</span>;
            }
            <span class="hljs-comment">// &#x53C2;&#x6570;&#x5904;&#x7406;</span>
            <span class="hljs-keyword">let</span> _context = data.context;
            <span class="hljs-keyword">let</span> _viewparams = data.param;
            <span class="hljs-keyword">let</span> _selectItems = <span class="hljs-built_in">JSON</span>.parse(<span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.selectItems));
            <span class="hljs-keyword">if</span>(!<span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.deKeyField,<span class="hljs-string">&quot;srfkey&quot;</span>)){
                _selectItems.forEach((item:<span class="hljs-built_in">any</span>, index:<span class="hljs-built_in">number</span>)=&gt;{
                    _selectItems[index].srfkey = item[<span class="hljs-keyword">this</span>.deKeyField];
                });
            }
            _context = <span class="hljs-built_in">Object</span>.assign(_context, { srfparentdata: { srfparentkey: <span class="hljs-keyword">this</span>.activeData[<span class="hljs-keyword">this</span>.deKeyField] }, });
            _viewparams = <span class="hljs-built_in">Object</span>.assign(_viewparams,{ selectedData: [..._selectItems]});
            <span class="hljs-keyword">let</span> formdata = <span class="hljs-keyword">this</span>.activeData;
            <span class="hljs-keyword">const</span> modal: Subject&lt;<span class="hljs-built_in">any</span>&gt; = <span class="hljs-keyword">this</span>.$appmodal.openModal(view, _context, _viewparams)
            <span class="hljs-comment">//&#x5173;&#x95ED;&#x89C6;&#x56FE;&#x7684;&#x56DE;&#x8C03;</span>
            modal.subscribe((result: <span class="hljs-built_in">any</span>) =&gt; {
                <span class="hljs-keyword">if</span> (!result || !<span class="hljs-built_in">Object</span>.is(result.ret, <span class="hljs-string">&apos;OK&apos;</span>)) {
                    <span class="hljs-keyword">return</span>;
                }
                <span class="hljs-keyword">let</span> selects: <span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
                <span class="hljs-keyword">if</span> (result.datas &amp;&amp; <span class="hljs-built_in">Array</span>.isArray(result.datas)) {
                    result.datas.forEach((select: <span class="hljs-built_in">any</span>) =&gt; {
                        selects.push({ [<span class="hljs-keyword">this</span>.deKeyField]: select[<span class="hljs-keyword">this</span>.deKeyField], [<span class="hljs-keyword">this</span>.deMajorField]: select[<span class="hljs-keyword">this</span>.deMajorField] });
                        <span class="hljs-keyword">let</span> index = <span class="hljs-keyword">this</span>.items.findIndex((item) =&gt; <span class="hljs-built_in">Object</span>.is(item[<span class="hljs-keyword">this</span>.deKeyField], select[<span class="hljs-keyword">this</span>.deKeyField]));
                        <span class="hljs-keyword">if</span> (index &lt; <span class="hljs-number">0</span>) {
                            <span class="hljs-keyword">this</span>.items.push({ [<span class="hljs-keyword">this</span>.deMajorField]: select[<span class="hljs-keyword">this</span>.deMajorField], [<span class="hljs-keyword">this</span>.deKeyField]: select[<span class="hljs-keyword">this</span>.deKeyField] });
                        }
                    });
                }
                <span class="hljs-keyword">if</span> (<span class="hljs-keyword">this</span>.name &amp;&amp; <span class="hljs-keyword">this</span>.activeData) {
                    <span class="hljs-keyword">let</span> value = selects.length &gt; <span class="hljs-number">0</span> ? <span class="hljs-built_in">JSON</span>.stringify(<span class="hljs-keyword">this</span>.formatValue(selects)) : <span class="hljs-string">&apos;&apos;</span>;
                    <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;formitemvaluechange&apos;</span>, { name: <span class="hljs-keyword">this</span>.name, value: value });
                }
            })
        }
    }
</code></pre>
<h1 id="&#x6269;&#x5C55;&#x63D2;&#x4EF6;">&#x6269;&#x5C55;&#x63D2;&#x4EF6;</h1>
<h2 id="&#x5355;&#x4F4D;&#x9009;&#x62E9;&#x5668;">&#x5355;&#x4F4D;&#x9009;&#x62E9;&#x5668;</h2>
<p>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x662F;&#x6570;&#x636E;&#x9009;&#x62E9;&#x7F16;&#x8F91;&#x5668;&#x7684;&#x6269;&#x5C55;&#x63D2;&#x4EF6;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200914163917060.png" alt="image-20200914163917060"></p>
<h3 id="&#x63D2;&#x4EF6;&#x6269;&#x5C55;">&#x63D2;&#x4EF6;&#x6269;&#x5C55;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x6269;&#x5C55;&#x6807;&#x8BC6;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E500000-01</td>
<td>ALLORGSELECT</td>
<td>&#x5168;&#x90E8;&#x5355;&#x4F4D;&#x5355;&#x9009;</td>
</tr>
<tr>
<td>E500000-02</td>
<td>ALLORGMULTIPLE</td>
<td>&#x5168;&#x90E8;&#x5355;&#x4F4D;&#x591A;&#x9009;</td>
</tr>
<tr>
<td>E500000-03</td>
<td>ORGSELECT</td>
<td>&#x4EC5;&#x542B;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x5176;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x5355;&#x9009;</td>
</tr>
<tr>
<td>E500000-04</td>
<td>ORGMULTIPLE</td>
<td>&#x4EC5;&#x542B;&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x5176;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x591A;&#x9009;</td>
</tr>
</tbody>
</table>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;">&#x57FA;&#x7840;&#x7528;&#x6CD5;</h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E500001</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E500002</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E500003</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E500004</td>
<td>fillMap</td>
<td>&#x586B;&#x5145;&#x5BF9;&#x8C61;</td>
<td>getEditorParam(&apos;fillMap&apos;,&apos;&apos;)</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
<tr>
<td>E500005</td>
<td>url</td>
<td>&#x67E5;&#x8BE2;&#x5355;&#x4F4D;&#x8DEF;&#x5F84;</td>
<td>getEditorParam(&apos;url&apos;,&apos;&apos;)</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
<tr>
<td>E500006</td>
<td>filter</td>
<td>&#x8FC7;&#x6EE4;&#x9879;</td>
<td>getEditorParam(&apos;filter&apos;,&apos;&apos;)</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
<tr>
<td>E500007</td>
<td>tag</td>
<td>&#x4EE3;&#x7801;&#x8868;&#x6807;&#x8BC6;</td>
<td>getPSEditorContainer()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
<tr>
<td>E500008</td>
<td>codelistType</td>
<td>&#x4EE3;&#x7801;&#x8868;&#x7C7B;&#x578B;</td>
<td>getPSEditorContainer()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
<tr>
<td>E500009</td>
<td>multiple</td>
<td>&#x662F;&#x5426;&#x591A;&#x9009;</td>
<td>getEditorParam(&apos;multiple&apos;,&apos;&apos;)</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E500010</td>
<td>select-change</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event:{name,value}&#xFF09;</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E500004</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;fillMap={id:value1,lable:value2}</td>
</tr>
<tr>
<td>E500005</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;url=&quot;&quot;&#x3002;&#x8DEF;&#x5F84;&#x7684;&#x5B57;&#x7B26;&#x4E32;</td>
</tr>
<tr>
<td>E500006</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;filter=&quot;&quot;&#x3002;&#x6240;&#x9700;&#x8FC7;&#x6EE4;&#x7684;&#x5B57;&#x6BB5;(&#x5B57;&#x7B26;&#x4E32;&#x7C7B;&#x578B;)</td>
</tr>
<tr>
<td>E500007</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x7F16;&#x8F91;&#x5668;&#x5BB9;&#x5668;&#x7684;&#x7CFB;&#x7EDF;&#x4EE3;&#x7801;&#x8868;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E500008</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x7F16;&#x8F91;&#x5668;&#x5BB9;&#x5668;&#x7684;&#x7CFB;&#x7EDF;&#x4EE3;&#x7801;&#x8868;&#x7C7B;&#x578B;</td>
</tr>
<tr>
<td>E500009</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;multiple=true&#x6216;&#x8005;multiple=false</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x521D;&#x59CB;&#x5316;&#x65F6;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x8FC7;&#x6EE4;&#x9879;&#xFF0C;&#x76F4;&#x63A5;&#x52A0;&#x8F7D;&#x6811;&#x6570;&#x636E;&#x3002;&#x76D1;&#x542C;&#x8868;&#x5355;&#x6570;&#x636E;&#x53D8;&#x5316;&#xFF0C;&#x8BA1;&#x7B97;&#x9009;&#x4E2D;&#x503C;&#xFF0C;&#x5E76;&#x6839;&#x636E;&#x8FC7;&#x6EE4;&#x9879;&#x53BB;&#x52A0;&#x8F7D;&#x6811;&#x8282;&#x70B9;&#x6570;&#x636E;&#x3002;</p>
<pre><code class="lang-typescript">  <span class="hljs-keyword">public</span> created(){
    <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.filter){
      <span class="hljs-keyword">this</span>.loadTreeData(<span class="hljs-keyword">this</span>.url);
    }
  }

  @Watch(<span class="hljs-string">&apos;data&apos;</span>,{immediate:<span class="hljs-literal">true</span>,deep:<span class="hljs-literal">true</span>})
  onDataChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
    <span class="hljs-keyword">if</span>(newVal){
      <span class="hljs-comment">//&#x8BA1;&#x7B97;&#x9009;&#x4E2D;&#x503C;</span>
      <span class="hljs-keyword">this</span>.computedSelectedData();
      <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.filter){
        <span class="hljs-comment">//&#x8BA1;&#x7B97;&#x52A0;&#x8F7D;&#x6811;&#x6570;&#x636E;&#x65F6;&#x7684;&#x8FC7;&#x6EE4;&#x503C;</span>
        <span class="hljs-keyword">let</span> tempFilterValue:<span class="hljs-built_in">any</span> = <span class="hljs-keyword">this</span>.initBasicData();
        <span class="hljs-comment">// filter&#x8FC7;&#x6EE4;&#x503C;&#x503C;&#x53D8;&#x5316;&#x624D;&#x53BB;&#x8BF7;&#x6C42;&#x6570;&#x636E;</span>
        <span class="hljs-keyword">if</span>(tempFilterValue &amp;&amp; (<span class="hljs-keyword">this</span>.copyFilterValue !== tempFilterValue)){
          <span class="hljs-keyword">this</span>.loadTreeData(<span class="hljs-keyword">this</span>.url.replace(<span class="hljs-string">&apos;${orgid}&apos;</span>,tempFilterValue));
          <span class="hljs-comment">//&#x5907;&#x4EFD;&#x8FC7;&#x6EE4;&#x503C;</span>
          <span class="hljs-keyword">this</span>.copyFilterValue = tempFilterValue;
        }
      }
    }
  }
</code></pre>
<p>2.&#x8BA1;&#x7B97;&#x9009;&#x4E2D;&#x503C;&#xFF0C;&#x6839;&#x636E;&#x5355;&#x591A;&#x9009;&#x7684;&#x4E0D;&#x540C;&#x8BA1;&#x7B97;&#x9009;&#x4E2D;&#x503C;&#xFF0C;&#x5C06;&#x5176;&#x8D4B;&#x503C;&#x7ED9;&#x9009;&#x62E9;&#x503C;selectTreeValue&#xFF08;&#x5982;&#x679C;&#x586B;&#x5145;&#x5BF9;&#x8C61;&#x7684;lable&#x4E0D;&#x5B58;&#x5728;,&#x4F46;&#x662F;id&#x5B58;&#x5728;,&#x5219;&#x9700;&#x8981;&#x5728;&#x4EE3;&#x7801;&#x8868;&#x4E2D;&#x53BB;&#x83B7;&#x53D6;lable&#xFF09;&#x3002;</p>
<pre><code class="lang-typescript">  <span class="hljs-keyword">public</span> computedSelectedData(){
    <span class="hljs-comment">// &#x5355;&#x9009;</span>
    <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.multiple){
      <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.fillMap &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).length &gt;<span class="hljs-number">0</span>){
        <span class="hljs-keyword">let</span> templateValue:<span class="hljs-built_in">any</span> = {};
        <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
          <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.data &amp;&amp; <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.fillMap[item]]){
            <span class="hljs-built_in">Object</span>.assign(templateValue,{[item]:<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.fillMap[item]]});
          }
        })
        <span class="hljs-keyword">if</span>(!templateValue.label &amp;&amp; templateValue.id &amp;&amp; <span class="hljs-keyword">this</span>.tag &amp;&amp; <span class="hljs-keyword">this</span>.codelistType &amp;&amp; <span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.codelistType,<span class="hljs-string">&quot;DYNAMIC&quot;</span>)){
          <span class="hljs-keyword">this</span>.fillLabel(templateValue,templateValue.id,(templateValue:<span class="hljs-built_in">any</span>) =&gt;{
            <span class="hljs-keyword">this</span>.selectTreeValue = <span class="hljs-built_in">JSON</span>.stringify([templateValue]);
          });
        }<span class="hljs-keyword">else</span>{
          <span class="hljs-keyword">this</span>.selectTreeValue = <span class="hljs-built_in">JSON</span>.stringify([templateValue]);
        }
      }
    }<span class="hljs-keyword">else</span>{
    <span class="hljs-comment">// &#x591A;&#x9009;</span>
      <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.fillMap &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).length &gt;<span class="hljs-number">0</span>){
        <span class="hljs-keyword">let</span> tempArray:<span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
        <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
          <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.data &amp;&amp; <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.fillMap[item]]){
            <span class="hljs-keyword">let</span> tempDataArray:<span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = (<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.fillMap[item]]).split(<span class="hljs-string">&quot;,&quot;</span>);
            tempDataArray.forEach((tempData:<span class="hljs-built_in">any</span>,index:<span class="hljs-built_in">number</span>) =&gt;{
              <span class="hljs-keyword">if</span>(tempArray.length &lt; tempDataArray.length){
                <span class="hljs-keyword">let</span> singleData:<span class="hljs-built_in">any</span> ={[item]:tempData};
                tempArray.push(singleData);
              }<span class="hljs-keyword">else</span>{
                <span class="hljs-built_in">Object</span>.assign(tempArray[index],{[item]:tempData});
              }
            })
          }
        })
        <span class="hljs-keyword">let</span> tempflag:<span class="hljs-built_in">boolean</span> = <span class="hljs-literal">false</span>;
        <span class="hljs-keyword">if</span>(tempArray.length &gt;<span class="hljs-number">0</span> &amp;&amp; tempArray.length &gt;<span class="hljs-number">0</span>){
          tempArray.forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
            <span class="hljs-keyword">if</span>(!item.label) tempflag = <span class="hljs-literal">true</span>;
          })
        }
        <span class="hljs-keyword">if</span>(tempflag &amp;&amp; <span class="hljs-keyword">this</span>.tag &amp;&amp; <span class="hljs-keyword">this</span>.codelistType &amp;&amp; <span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.codelistType,<span class="hljs-string">&quot;DYNAMIC&quot;</span>)){
          <span class="hljs-keyword">let</span> tempStatus:<span class="hljs-built_in">number</span> = <span class="hljs-number">0</span>;
          tempArray.forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
            <span class="hljs-keyword">if</span>(!item.label){
              tempStatus += <span class="hljs-number">1</span>;
              <span class="hljs-keyword">this</span>.fillLabel(item,item.id,(result:<span class="hljs-built_in">any</span>) =&gt;{
                item = result;
                tempStatus -= <span class="hljs-number">1</span>;
                <span class="hljs-keyword">if</span>(tempStatus === <span class="hljs-number">0</span>){
                  <span class="hljs-keyword">this</span>.selectTreeValue = <span class="hljs-built_in">JSON</span>.stringify(tempArray);
                }
              })
            }
          })
        }<span class="hljs-keyword">else</span>{
          <span class="hljs-keyword">this</span>.selectTreeValue = <span class="hljs-built_in">JSON</span>.stringify(tempArray);
        }
      }
    }
  }

  <span class="hljs-keyword">public</span> fillLabel(tempObject:<span class="hljs-built_in">any</span>,valueItem:<span class="hljs-built_in">any</span>,callback:<span class="hljs-built_in">any</span>){
    <span class="hljs-keyword">if</span>(!tempObject.label &amp;&amp; tempObject.id &amp;&amp; <span class="hljs-keyword">this</span>.tag &amp;&amp; <span class="hljs-keyword">this</span>.codelistType &amp;&amp; <span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.codelistType,<span class="hljs-string">&quot;DYNAMIC&quot;</span>)){
      <span class="hljs-keyword">let</span> codeListService:CodeListService = <span class="hljs-keyword">new</span> CodeListService();
      codeListService.getItems(<span class="hljs-keyword">this</span>.tag).then((items:<span class="hljs-built_in">any</span>) =&gt;{
        <span class="hljs-keyword">if</span>(items &amp;&amp; items.length &gt;<span class="hljs-number">0</span>){
          <span class="hljs-keyword">let</span> result:<span class="hljs-built_in">any</span> = items.find((item:<span class="hljs-built_in">any</span>) =&gt;{
            <span class="hljs-keyword">return</span> item.id === valueItem;
          })
          <span class="hljs-built_in">Object</span>.assign(tempObject,{label:result.label});
        }
        callback(tempObject);
      }).catch((error:<span class="hljs-built_in">any</span>) =&gt;{
        <span class="hljs-built_in">console</span>.log(error);
      })
    }
  }
</code></pre>
<p>3.&#x8BA1;&#x7B97;&#x8FC7;&#x6EE4;&#x503C;&#xFF0C;&#x52A0;&#x8F7D;&#x6811;&#x8282;&#x70B9;&#x6570;&#x636E;&#xFF0C;&#x5C06;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x6811;&#x8282;&#x70B9;&#x6570;&#x636E;NodesData&#x3002;</p>
<pre><code class="lang-typescript"> <span class="hljs-keyword">public</span> initBasicData(){
    <span class="hljs-comment">// &#x8BA1;&#x7B97;&#x51FA;&#x8FC7;&#x6EE4;&#x503C;</span>
    <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.filter){
      <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.data &amp;&amp; <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.filter]){
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.filter];
      }<span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.context &amp;&amp; <span class="hljs-keyword">this</span>.context[<span class="hljs-keyword">this</span>.filter]){
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.context[<span class="hljs-keyword">this</span>.filter];
      }<span class="hljs-keyword">else</span>{
        <span class="hljs-keyword">return</span> <span class="hljs-literal">null</span>;
      }
    }
  }

  <span class="hljs-keyword">public</span> loadTreeData(requestUrl:<span class="hljs-built_in">string</span>){
    <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.filter){
      <span class="hljs-keyword">const</span> result:<span class="hljs-built_in">any</span> = <span class="hljs-keyword">this</span>.$store.getters.getOrgData(<span class="hljs-keyword">this</span>.filter);
      <span class="hljs-keyword">if</span>(result){
        <span class="hljs-keyword">this</span>.NodesData = result;
        <span class="hljs-keyword">return</span>;
      }
    }
    Http.getInstance().get(requestUrl).then((res:<span class="hljs-built_in">any</span>) =&gt;{
      <span class="hljs-keyword">if</span>(!res.status &amp;&amp; res.status !== <span class="hljs-number">200</span>){
        <span class="hljs-built_in">console</span>.error((<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;components.appOrgSelect.loadFail&apos;</span>) as <span class="hljs-built_in">string</span>));
        <span class="hljs-keyword">return</span>;
      }
      <span class="hljs-keyword">this</span>.NodesData = res.data;
      <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.filter){
        <span class="hljs-keyword">this</span>.$store.commit(<span class="hljs-string">&apos;addOrgData&apos;</span>, { srfkey: <span class="hljs-keyword">this</span>.filter, orgData: res.data });
      }
    })
  }
</code></pre>
<p>4.&#x4E0B;&#x62C9;&#x6811;&#x9009;&#x62E9;&#x65F6;&#x7684;&#x6570;&#x636E;&#x5904;&#x7406;&#x4E0E;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">  <span class="hljs-keyword">public</span> treeSelectChange($event:<span class="hljs-built_in">any</span>){
    <span class="hljs-comment">// &#x591A;&#x9009;</span>
    <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.multiple){
      <span class="hljs-keyword">if</span>(!<span class="hljs-built_in">Object</span>.is($event,<span class="hljs-string">&apos;[]&apos;</span>)){
        <span class="hljs-keyword">const</span> tempValue:<span class="hljs-built_in">any</span> = <span class="hljs-built_in">JSON</span>.parse($event);
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.fillMap &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).length &gt;<span class="hljs-number">0</span>){
          <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
            <span class="hljs-keyword">let</span> tempResult:<span class="hljs-built_in">any</span> =<span class="hljs-string">&quot;&quot;</span>;
            tempValue.forEach((value:<span class="hljs-built_in">any</span>,index:<span class="hljs-built_in">number</span>) =&gt;{
              tempResult += index&gt;<span class="hljs-number">0</span>?<span class="hljs-string">`,<span class="hljs-subst">${value[item]}</span>`</span>:<span class="hljs-string">`<span class="hljs-subst">${value[item]}</span>`</span>;
            })
            setTimeout(() =&gt; {
              <span class="hljs-keyword">this</span>.emitValue(<span class="hljs-keyword">this</span>.fillMap[item],tempResult);
            }, <span class="hljs-number">0</span>);
          })
        }
      }<span class="hljs-keyword">else</span>{
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.fillMap &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).length &gt;<span class="hljs-number">0</span>){
          <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
            <span class="hljs-keyword">this</span>.emitValue(<span class="hljs-keyword">this</span>.fillMap[item],<span class="hljs-literal">null</span>);
          })
        }
      }
    }<span class="hljs-keyword">else</span>{
      <span class="hljs-comment">// &#x5355;&#x9009;</span>
      <span class="hljs-keyword">if</span>(!<span class="hljs-built_in">Object</span>.is($event,<span class="hljs-string">&apos;[]&apos;</span>)){
        <span class="hljs-keyword">const</span> tempValue:<span class="hljs-built_in">any</span> = <span class="hljs-built_in">JSON</span>.parse($event)[<span class="hljs-number">0</span>];
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.fillMap &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).length &gt;<span class="hljs-number">0</span>){
          <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
            setTimeout(() =&gt; {
              <span class="hljs-keyword">this</span>.emitValue(<span class="hljs-keyword">this</span>.fillMap[item],tempValue[item]);
            }, <span class="hljs-number">0</span>);
          })
        }
      }<span class="hljs-keyword">else</span>{
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.fillMap &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).length &gt;<span class="hljs-number">0</span>){
          <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
            <span class="hljs-keyword">this</span>.emitValue(<span class="hljs-keyword">this</span>.fillMap[item],<span class="hljs-literal">null</span>);
          })
        }
      }
    }
  }
  <span class="hljs-comment">//&#x629B;&#x503C;</span>
  <span class="hljs-keyword">public</span> emitValue(name:<span class="hljs-built_in">string</span>,value:<span class="hljs-built_in">any</span>){
    <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;select-change&apos;</span>,{name:name,value:value});
  }
</code></pre>
<h2 id="&#x90E8;&#x95E8;&#x9009;&#x62E9;&#x5668;">&#x90E8;&#x95E8;&#x9009;&#x62E9;&#x5668;</h2>
<p>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x662F;&#x6570;&#x636E;&#x9009;&#x62E9;&#x7F16;&#x8F91;&#x5668;&#x7684;&#x6269;&#x5C55;&#x63D2;&#x4EF6;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200914170508147.png" alt="image-20200914170508147"></p>
<h3 id="&#x63D2;&#x4EF6;&#x6269;&#x5C55;">&#x63D2;&#x4EF6;&#x6269;&#x5C55;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x6269;&#x5C55;&#x6807;&#x8BC6;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E510000-01</td>
<td>DEPATMENTSELECT</td>
<td>&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x5185;&#x7684;&#x90E8;&#x95E8;&#x5355;&#x9009;</td>
</tr>
<tr>
<td>E510000-02</td>
<td>DEPATMENTMULTIPLE</td>
<td>&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x5185;&#x7684;&#x90E8;&#x95E8;&#x591A;&#x9009;</td>
</tr>
<tr>
<td>E510000-03</td>
<td>ALLDEPATMENTSELECT</td>
<td>&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x5176;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x7684;&#x6240;&#x6709;&#x90E8;&#x95E8;&#x5355;&#x9009;</td>
</tr>
<tr>
<td>E510000-04</td>
<td>ALLDEPATMENTMULTIPLE</td>
<td>&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x5176;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x7684;&#x6240;&#x6709;&#x90E8;&#x95E8;&#x591A;&#x9009;</td>
</tr>
</tbody>
</table>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;">&#x57FA;&#x7840;&#x7528;&#x6CD5;</h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x4F7F;&#x7528;&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E510001</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E510002</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E510003</td>
<td>context</td>
<td>&#x89C6;&#x56FE;&#x4E0A;&#x4E0B;&#x6587;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E510004</td>
<td>fillMap</td>
<td>&#x586B;&#x5145;&#x5BF9;&#x8C61;</td>
<td>getEditorParam(&apos;fillMap&apos;,&apos;&apos;)</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
<tr>
<td>E510005</td>
<td>url</td>
<td>&#x67E5;&#x8BE2;&#x5355;&#x4F4D;&#x8DEF;&#x5F84;</td>
<td>getEditorParam(&apos;url&apos;,&apos;&apos;)</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
<tr>
<td>E510006</td>
<td>filter</td>
<td>&#x8FC7;&#x6EE4;&#x9879;</td>
<td>getEditorParam(&apos;filter&apos;,&apos;&apos;)</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
<tr>
<td>E510007</td>
<td>tag</td>
<td>&#x4EE3;&#x7801;&#x8868;&#x6807;&#x8BC6;</td>
<td>getPSEditorContainer()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
<tr>
<td>E510008</td>
<td>codelistType</td>
<td>&#x4EE3;&#x7801;&#x8868;&#x7C7B;&#x578B;</td>
<td>getPSEditorContainer()</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
<tr>
<td>E510009</td>
<td>multiple</td>
<td>&#x662F;&#x5426;&#x591A;&#x9009;</td>
<td>getEditorParam(&apos;multiple&apos;,&apos;&apos;)</td>
<td>&#x53C2;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;&#x90E8;&#x5206;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E510010</td>
<td>select-change</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event:{name,value}&#xFF09;</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E510004</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;fillMap={id:value1,lable:value2}</td>
</tr>
<tr>
<td>E510005</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;url=&quot;&quot;&#x3002;&#x8DEF;&#x5F84;&#x7684;&#x5B57;&#x7B26;&#x4E32;</td>
</tr>
<tr>
<td>E510006</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;filter=&quot;&quot;&#x3002;&#x6240;&#x9700;&#x8FC7;&#x6EE4;&#x7684;&#x5B57;&#x6BB5;(&#x5B57;&#x7B26;&#x4E32;&#x7C7B;&#x578B;)</td>
</tr>
<tr>
<td>E510007</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x7F16;&#x8F91;&#x5668;&#x5BB9;&#x5668;&#x7684;&#x7CFB;&#x7EDF;&#x4EE3;&#x7801;&#x8868;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E510008</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x6620;&#x5C04;&#x7684;&#x7F16;&#x8F91;&#x5668;&#x5BB9;&#x5668;&#x7684;&#x7CFB;&#x7EDF;&#x4EE3;&#x7801;&#x8868;&#x7C7B;&#x578B;</td>
</tr>
<tr>
<td>E510009</td>
<td>&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;multiple=true&#x6216;&#x8005;multiple=false</td>
</tr>
</tbody>
</table>
<h3 id="&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;">&#x7EC4;&#x4EF6;&#x6838;&#x5FC3;&#x903B;&#x8F91;</h3>
<p>1.&#x76D1;&#x63A7;&#x8868;&#x5355;&#x6570;&#x636E;&#x53D8;&#x5316;&#xFF0C;&#x8BA1;&#x7B97;&#x9009;&#x4E2D;&#x503C;&#xFF0C;&#x52A0;&#x8F7D;&#x6811;&#x8282;&#x70B9;&#x6570;&#x636E;&#x3002;</p>
<pre><code class="lang-typescript">    @Watch(<span class="hljs-string">&apos;data&apos;</span>,{immediate:<span class="hljs-literal">true</span>,deep:<span class="hljs-literal">true</span>})
    <span class="hljs-keyword">public</span> onValueChange(newVal: <span class="hljs-built_in">any</span>, oldVal: <span class="hljs-built_in">any</span>) {
        <span class="hljs-keyword">if</span>(newVal){
          <span class="hljs-comment">//&#x8BA1;&#x7B97;&#x9009;&#x4E2D;&#x503C;</span>
          <span class="hljs-keyword">this</span>.computedSelectedData();
          <span class="hljs-keyword">this</span>.$nextTick(()=&gt;{
            <span class="hljs-comment">//&#x52A0;&#x8F7D;&#x6811;&#x8282;&#x70B9;&#x6570;&#x636E;</span>
            <span class="hljs-keyword">this</span>.searchNodesData();
          });
        }
    }
</code></pre>
<p>2.&#x8BA1;&#x7B97;&#x9009;&#x4E2D;&#x503C;&#xFF0C;&#x5C06;&#x5176;&#x8D4B;&#x503C;&#x7ED9;&#x9009;&#x62E9;&#x503C;selectTreeValue&#xFF0C;&#x5982;&#x679C;&#x586B;&#x5145;&#x5BF9;&#x8C61;&#x7684;lable&#x4E0D;&#x5B58;&#x5728;,&#x4F46;&#x662F;id&#x5B58;&#x5728;,&#x5219;&#x9700;&#x8981;&#x5728;&#x4EE3;&#x7801;&#x8868;&#x4E2D;&#x53BB;&#x83B7;&#x53D6;lable&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> computedSelectedData(){
      <span class="hljs-comment">// &#x5355;&#x9009;</span>
      <span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.multiple){
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.fillMap &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).length &gt;<span class="hljs-number">0</span>){
        <span class="hljs-keyword">let</span> templateValue:<span class="hljs-built_in">any</span> = {};
        <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
          <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.data &amp;&amp; <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.fillMap[item]]){
            <span class="hljs-built_in">Object</span>.assign(templateValue,{[item]:<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.fillMap[item]]});
          }
        })
          <span class="hljs-keyword">if</span>(!templateValue.label &amp;&amp; templateValue.id &amp;&amp; <span class="hljs-keyword">this</span>.tag &amp;&amp; <span class="hljs-keyword">this</span>.codelistType &amp;&amp; <span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.codelistType,<span class="hljs-string">&quot;DYNAMIC&quot;</span>)){
            <span class="hljs-keyword">this</span>.fillLabel(templateValue,templateValue.id,(templateValue:<span class="hljs-built_in">any</span>) =&gt;{
              <span class="hljs-keyword">this</span>.selectTreeValue = <span class="hljs-built_in">JSON</span>.stringify([templateValue]);
            });
          }<span class="hljs-keyword">else</span>{
            <span class="hljs-keyword">this</span>.selectTreeValue = <span class="hljs-built_in">JSON</span>.stringify([templateValue]);
          }
        }
      }<span class="hljs-keyword">else</span>{
      <span class="hljs-comment">// &#x591A;&#x9009;</span>
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.fillMap &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).length &gt;<span class="hljs-number">0</span>){
          <span class="hljs-keyword">let</span> tempArray:<span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = [];
          <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
            <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.data &amp;&amp; <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.fillMap[item]]){
              <span class="hljs-keyword">let</span> tempDataArray:<span class="hljs-built_in">Array</span>&lt;<span class="hljs-built_in">any</span>&gt; = (<span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.fillMap[item]]).split(<span class="hljs-string">&quot;,&quot;</span>);
              tempDataArray.forEach((tempData:<span class="hljs-built_in">any</span>,index:<span class="hljs-built_in">number</span>) =&gt;{
                <span class="hljs-keyword">if</span>(tempArray.length &lt; tempDataArray.length){
                  <span class="hljs-keyword">let</span> singleData:<span class="hljs-built_in">any</span> ={[item]:tempData};
                  tempArray.push(singleData);
                }<span class="hljs-keyword">else</span>{
                  <span class="hljs-built_in">Object</span>.assign(tempArray[index],{[item]:tempData});
                }
              })
            }
          })
          <span class="hljs-keyword">let</span> tempflag:<span class="hljs-built_in">boolean</span> = <span class="hljs-literal">false</span>;
          <span class="hljs-keyword">if</span>(tempArray.length &gt;<span class="hljs-number">0</span> &amp;&amp; tempArray.length &gt;<span class="hljs-number">0</span>){
            tempArray.forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
              <span class="hljs-keyword">if</span>(!item.label) tempflag = <span class="hljs-literal">true</span>;
            })
          }
          <span class="hljs-keyword">if</span>(tempflag &amp;&amp; <span class="hljs-keyword">this</span>.tag &amp;&amp; <span class="hljs-keyword">this</span>.codelistType &amp;&amp; <span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.codelistType,<span class="hljs-string">&quot;DYNAMIC&quot;</span>)){
            <span class="hljs-keyword">let</span> tempStatus:<span class="hljs-built_in">number</span> = <span class="hljs-number">0</span>;
            tempArray.forEach((item:<span class="hljs-built_in">any</span>) =&gt;{
              <span class="hljs-keyword">if</span>(!item.label){
                tempStatus += <span class="hljs-number">1</span>;
                <span class="hljs-keyword">this</span>.fillLabel(item,item.id,(result:<span class="hljs-built_in">any</span>) =&gt;{
                  item = result;
                  tempStatus -= <span class="hljs-number">1</span>;
                  <span class="hljs-keyword">if</span>(tempStatus === <span class="hljs-number">0</span>){
                    <span class="hljs-keyword">this</span>.selectTreeValue = <span class="hljs-built_in">JSON</span>.stringify(tempArray);
                  }
                })
              }
            })
          }<span class="hljs-keyword">else</span>{
            <span class="hljs-keyword">this</span>.selectTreeValue = <span class="hljs-built_in">JSON</span>.stringify(tempArray);
          }
        }
      }
    } 

    <span class="hljs-comment">//&#x83B7;&#x53D6;label</span>
    <span class="hljs-keyword">public</span> fillLabel(tempObject:<span class="hljs-built_in">any</span>,valueItem:<span class="hljs-built_in">any</span>,callback:<span class="hljs-built_in">any</span>){
      <span class="hljs-keyword">if</span>(!tempObject.label &amp;&amp; tempObject.id &amp;&amp; <span class="hljs-keyword">this</span>.tag &amp;&amp; <span class="hljs-keyword">this</span>.codelistType &amp;&amp; <span class="hljs-built_in">Object</span>.is(<span class="hljs-keyword">this</span>.codelistType,<span class="hljs-string">&quot;DYNAMIC&quot;</span>)){
        <span class="hljs-keyword">let</span> codeListService:CodeListService = <span class="hljs-keyword">new</span> CodeListService();
        codeListService.getItems(<span class="hljs-keyword">this</span>.tag).then((items:<span class="hljs-built_in">any</span>) =&gt;{
          <span class="hljs-keyword">if</span>(items &amp;&amp; items.length &gt;<span class="hljs-number">0</span>){
            <span class="hljs-keyword">let</span> result:<span class="hljs-built_in">any</span> = items.find((item:<span class="hljs-built_in">any</span>) =&gt;{
              <span class="hljs-keyword">return</span> item.id === valueItem;
            })
            <span class="hljs-built_in">Object</span>.assign(tempObject,{label:result.label});
          }
          callback(tempObject);
        }).catch((error:<span class="hljs-built_in">any</span>) =&gt;{
          <span class="hljs-built_in">console</span>.log(error);
        })
      }
    }
</code></pre>
<p>3.&#x52A0;&#x8F7D;&#x6811;&#x8282;&#x70B9;&#x6570;&#x636E;&#xFF0C;&#x5C06;&#x503C;&#x8D4B;&#x503C;&#x7ED9;&#x6811;&#x8282;&#x70B9;&#x6570;&#x636E;NodesData&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> searchNodesData(){
      <span class="hljs-comment">// &#x5904;&#x7406;&#x8FC7;&#x6EE4;&#x53C2;&#x6570;&#xFF0C;&#x751F;&#x6210;url</span>
      <span class="hljs-keyword">let</span> param = <span class="hljs-keyword">this</span>.handleFilter();
      <span class="hljs-keyword">let</span> _url = <span class="hljs-keyword">this</span>.url.replace(<span class="hljs-string">&apos;${orgid}&apos;</span>,param)
      <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.oldurl === _url){
          <span class="hljs-keyword">return</span>;
      }
      <span class="hljs-keyword">this</span>.oldurl = _url;
      <span class="hljs-comment">// &#x7F13;&#x5B58;&#x673A;&#x5236;</span>
      <span class="hljs-keyword">const</span> result:<span class="hljs-built_in">any</span> = <span class="hljs-keyword">this</span>.$store.getters.getDepData(_url);
      <span class="hljs-keyword">if</span>(result){
        <span class="hljs-keyword">this</span>.Nodesdata = result;
        <span class="hljs-keyword">return</span>;
      }
      <span class="hljs-keyword">this</span>.$http.get(_url).then((response: <span class="hljs-built_in">any</span>) =&gt; {
          <span class="hljs-keyword">this</span>.Nodesdata = response.data;
          <span class="hljs-keyword">this</span>.$store.commit(<span class="hljs-string">&apos;addDepData&apos;</span>, { srfkey: _url, depData: response.data });
      }).catch((response: <span class="hljs-built_in">any</span>) =&gt; {
          <span class="hljs-keyword">if</span> (!response || !response.status || !response.data) {
              <span class="hljs-keyword">this</span>.$Notice.error({ title: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;app.commonWords.error&apos;</span>) as <span class="hljs-built_in">string</span>), desc: (<span class="hljs-keyword">this</span>.$t(<span class="hljs-string">&apos;app.commonWords.sysException&apos;</span>) as <span class="hljs-built_in">string</span>) });
              <span class="hljs-keyword">return</span>;
          }
      });
    }
    <span class="hljs-comment">//&#x5904;&#x7406;&#x8FC7;&#x6EE4;&#x53C2;&#x6570;</span>
    <span class="hljs-keyword">public</span> handleFilter(){
      <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.filter){
          <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.data &amp;&amp; <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.filter]){
            <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.data[<span class="hljs-keyword">this</span>.filter];
          }<span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.context &amp;&amp; <span class="hljs-keyword">this</span>.context[<span class="hljs-keyword">this</span>.filter]){
            <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.context[<span class="hljs-keyword">this</span>.filter];
          }
      }<span class="hljs-keyword">else</span>{
          <span class="hljs-keyword">return</span> <span class="hljs-keyword">this</span>.context.srforgid;
      }
    }
</code></pre>
<p>4.&#x4E0B;&#x62C9;&#x6811;&#x9009;&#x62E9;&#x65F6;&#x7684;&#x6570;&#x636E;&#x5904;&#x7406;&#x4E0E;&#x629B;&#x51FA;&#x3002;</p>
<pre><code class="lang-typescript">    <span class="hljs-keyword">public</span> onSelect($event:<span class="hljs-built_in">any</span>){
        <span class="hljs-comment">// &#x7EC4;&#x4EF6;&#x81EA;&#x8EAB;&#x629B;&#x503C;&#x4E8B;&#x4EF6;</span>
        <span class="hljs-keyword">let</span> selectArr = <span class="hljs-built_in">JSON</span>.parse($event);
        <span class="hljs-comment">// fillMap&#x629B;&#x503C;&#x4E8B;&#x4EF6;</span>
        <span class="hljs-keyword">if</span>(<span class="hljs-keyword">this</span>.fillMap &amp;&amp; <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).length &gt; <span class="hljs-number">0</span>){
            <span class="hljs-built_in">Object</span>.keys(<span class="hljs-keyword">this</span>.fillMap).forEach((attribute:<span class="hljs-built_in">string</span>) =&gt; {
                <span class="hljs-keyword">let</span> _name = <span class="hljs-keyword">this</span>.fillMap[attribute];
                <span class="hljs-keyword">let</span> values = selectArr.map((item:<span class="hljs-built_in">any</span>) =&gt; item[attribute]);
                <span class="hljs-keyword">let</span> _value = $event === <span class="hljs-string">&quot;[]&quot;</span> ? <span class="hljs-literal">null</span> : values.join(<span class="hljs-string">&quot;,&quot;</span>);
                setTimeout(() =&gt; {
                  <span class="hljs-keyword">this</span>.$emit(<span class="hljs-string">&apos;select-change&apos;</span>,{name: <span class="hljs-keyword">this</span>.fillMap[attribute], value: _value});
                },<span class="hljs-number">0</span>);
            });
        }
    }
</code></pre>
<h2 id="&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;">&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;</h2>
<p>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x662F;&#x6570;&#x636E;&#x9009;&#x62E9;&#x7F16;&#x8F91;&#x5668;&#x7684;&#x6269;&#x5C55;&#x63D2;&#x4EF6;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200914172544717.png" alt="image-20200914172544717"></p>
<h3 id="&#x63D2;&#x4EF6;&#x6269;&#x5C55;">&#x63D2;&#x4EF6;&#x6269;&#x5C55;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x6269;&#x5C55;&#x6807;&#x8BC6;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E520000-01</td>
<td>EMPSELECT</td>
<td>&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x5185;&#x4EBA;&#x5458;&#x5355;&#x9009;</td>
</tr>
<tr>
<td>E520000-02</td>
<td>EMPMULTIPLE</td>
<td>&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x5185;&#x4EBA;&#x5458;&#x591A;&#x9009;</td>
</tr>
<tr>
<td>E520000-03</td>
<td>ALLEMPSELECT</td>
<td>&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x5176;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x6240;&#x6709;&#x4EBA;&#x5458;&#x5355;&#x9009;</td>
</tr>
<tr>
<td>E520000-04</td>
<td>ALLEMPMULTIPLE</td>
<td>&#x6307;&#x5B9A;&#x5355;&#x4F4D;&#x53CA;&#x5176;&#x4E0B;&#x7EA7;&#x5355;&#x4F4D;&#x6240;&#x6709;&#x4EBA;&#x5458;&#x591A;&#x9009;</td>
</tr>
<tr>
<td>E520000-05</td>
<td>DEPTPERSONSELECT</td>
<td>&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x5185;&#x4EBA;&#x5458;&#x5355;&#x9009;</td>
</tr>
<tr>
<td>E520000-06</td>
<td>DEPTPERSONMULTIPLE</td>
<td>&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x5185;&#x4EBA;&#x5458;&#x591A;&#x9009;</td>
</tr>
<tr>
<td>E520000-07</td>
<td>ALLDEPTPERSONSELECT</td>
<td>&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x53CA;&#x5176;&#x4E0B;&#x7EA7;&#x90E8;&#x95E8;&#x6240;&#x6709;&#x4EBA;&#x5458;&#x5355;&#x9009;</td>
</tr>
<tr>
<td>E520000-08</td>
<td>ALLDEPTPERSONMULTIPLE</td>
<td>&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x53CA;&#x5176;&#x4E0B;&#x7EA7;&#x90E8;&#x95E8;&#x6240;&#x6709;&#x4EBA;&#x5458;&#x591A;&#x9009;</td>
</tr>
</tbody>
</table>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;">&#x57FA;&#x7840;&#x7528;&#x6CD5;</h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E520001</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>getName()</td>
<td>&#x540D;&#x79F0;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E520002</td>
<td>context</td>
<td>&#x4E0A;&#x4E0B;&#x6587;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E520003</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E520004</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E520005</td>
<td>value</td>
<td>&#x8868;&#x5355;&#x9879;&#x503C;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x503C;</td>
</tr>
<tr>
<td>E520006</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E520007</td>
<td>treeurl</td>
<td>&#x6811;&#x52A0;&#x8F7D;&#x5730;&#x5740;</td>
<td>getEditorParam(&quot;treeurl&quot;, &quot;&quot;)</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E520008</td>
<td>url</td>
<td>&#x6570;&#x636E;&#x63A5;&#x53E3;&#x5730;&#x5740;</td>
<td>getEditorParam(&quot;url&quot;, &quot;&quot;)</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E520009</td>
<td>multiple</td>
<td>&#x662F;&#x5426;&#x591A;&#x9009;</td>
<td>getEditorParam(&quot;multiple&quot;, &quot;&quot;)</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E520010</td>
<td>tag</td>
<td>&#x4EE3;&#x7801;&#x8868;&#x6807;&#x8BC6;</td>
<td>getPSEditorContainer()</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E520011</td>
<td>codelistType</td>
<td>&#x4EE3;&#x7801;&#x8868;&#x7C7B;&#x578B;</td>
<td>getPSEditorContainer()</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E520012</td>
<td>filter</td>
<td>&#x8FC7;&#x6EE4;&#x5C5E;&#x6027;</td>
<td>getEditorParam(&quot;filter&quot;, &quot;&quot;)</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E520013</td>
<td>fillmap</td>
<td>&#x586B;&#x5145;&#x5C5E;&#x6027;</td>
<td>getEditorParam(&quot;fillMap&quot;, &quot;&quot;)</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E520014</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event:{name,value}&#xFF09;</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
    <tdead>
        <tr>
            <th>&#x53C2;&#x6570;&#x7C7B;&#x578B;</th>
            <th>&#x53C2;&#x6570;</th>
            <th>&#x53C2;&#x6570;&#x8BF4;&#x660E;</th>
        </tr>
    </tdead>
    <tbody>
        <tr>
            <td rowspan="5">&#x81EA;&#x5B9A;&#x4E49;&#x53C2;&#x6570;</td>
            <td>treeurl</td>
            <td>&#x5982;&#x679C;&#x662F;&#x901A;&#x8FC7;&#x5F53;&#x524D;&#x90E8;&#x95E8;&#x7684;&#x5404;&#x4E2A;&#x4E0B;&#x7EA7;&#x90E8;&#x95E8;id&#x6765;&#x67E5;&#x8BE2;&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#xFF0C;&#x5219;&#x9700;&#x8981;&#x5728;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x4E2D;&#x914D;&#x7F6E;&#x8BE5;&#x8DEF;&#x5F84;&#x6765;&#x67E5;&#x8BE2;&#x5404;&#x4E2A;&#x4E0B;&#x7EA7;&#x90E8;&#x95E8;&#xFF0C;&#x5E76;&#x4E14;&#x5FC5;&#x987B;&#x914D;&#x7F6E;url&#x53BB;&#x83B7;&#x53D6;&#x5404;&#x4E2A;&#x90E8;&#x95E8;&#x7684;&#x4EBA;&#x5458;&#x3002;&#x683C;&#x5F0F;&#x5982;treeurl=/xxx/{deptId}/xxx/xxx</td>
        </tr>
        <tr>
            <td>url</td>
            <td>&#x83B7;&#x53D6;&#x90E8;&#x95E8;&#x4E0B;&#x7684;&#x4EBA;&#x5458;&#x4FE1;&#x606F;&#x7684;&#x5730;&#x5740;&#xFF0C;&#x5FC5;&#x987B;&#x914D;&#x7F6E;&#x8BE5;&#x53C2;&#x6570;&#x3002;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x5982;url=/xxx/{deptId}/xxx</td>
        </tr>
        <tr>
            <td>multiple</td>
            <td>&#x914D;&#x7F6E;&#x662F;&#x5426;&#x591A;&#x9009;&#xFF0C;&#x4E0D;&#x914D;&#x7F6E;&#x9ED8;&#x8BA4;&#x5355;&#x9009;&#x3002;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x5982;multiple=true</td>
        </tr>
        <tr>
            <td>filter</td>
            <td>&#x914D;&#x7F6E;&#x90E8;&#x95E8;&#x6807;&#x8BC6;id&#x7528;&#x6765;&#x8FC7;&#x6EE4;&#x7528;&#x6237;&#x9700;&#x6C42;&#x7684;&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x6570;&#x636E;&#x3002;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;filter=aaa&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A;srfpdept&#xFF0C;&#x4E0D;&#x914D;&#x7F6E;&#x65F6;&#x4ECE;&#x4E0A;&#x4E0B;&#x6587;&#x53C2;&#x6570;&#x4E2D;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x90E8;&#x95E8;&#x6807;&#x8BC6;&#x4EE3;&#x7801;&#x3002;&#x7528;&#x4E8E;&#x5C06;&#x5176;&#x503C;&#x586B;&#x5165;url&#x8DEF;&#x5F84;&#x4E2D;&#x7684;{deptId}&#x4F5C;&#x4E3A;&#x5B8C;&#x6574;&#x67E5;&#x8BE2;&#x6570;&#x636E;&#x8DEF;&#x5F84;</td>
        </tr>
        <tr>
            <td>fillmap</td>
            <td>&#x914D;&#x7F6E;&#x7528;&#x6237;&#x60F3;&#x8981;&#x586B;&#x5145;&#x7684;&#x5C5E;&#x6027;&#x9879;&#xFF0C;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;fillmap={&apos;parm1&apos;:&apos;value1&apos;,&apos;parm2&apos;:&apos;value2&apos;}&#x9ED8;&#x8BA4;&#x4E3A;{&apos;id&apos;:&apos;valueitem&apos;,&apos;label&apos;:&apos;name&apos;},id&#x4E3A;&#x503C;&#x9879;&#x540D;&#x79F0;&#xFF0C;label&#x4E3A;&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;&#xFF0C;&#x82E5;&#x4E0D;&#x914D;&#x7F6E;&#x6B64;&#x9879;&#xFF0C;&#x9700;&#x914D;&#x7F6E;&#x503C;&#x9879;</td>
        </tr>
        <tr>
            <td rowspan="3">&#x4EE3;&#x7801;&#x8868;&#x914D;&#x7F6E;</td>
            <td>&#x7528;&#x9014;&#x8BF4;&#x660E;</td>
            <td>&#x5728;&#x76D1;&#x63A7;&#x8868;&#x5355;&#x6570;&#x636E;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x82E5;&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x914D;&#x7F6E;&#x4E86;&#x503C;&#x9879;&#xFF0C;&#x4E14;&#x503C;&#x9879;&#x6709;&#x503C;&#xFF0C;&#x4F46;&#x662F;&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x8868;&#x5355;&#x9879;&#x65E0;&#x503C;&#xFF0C;&#x5219;&#x53EF;&#x901A;&#x8FC7;&#x4EE3;&#x7801;&#x8868;&#x6765;&#x7ED9;&#x5C55;&#x793A;&#x6570;&#x636E;&#x7684;label&#x5C5E;&#x6027;&#x8D4B;&#x503C;&#xFF0C;&#x7528;&#x6765;&#x5C55;&#x793A;&#x6570;&#x636E;</td>
        </tr>
        <tr>
            <td>tag</td>
            <td>&#x4ECE;&#x7F16;&#x8F91;&#x5668;&#x5BB9;&#x5668;&#x4E2D;&#x83B7;&#x53D6;&#x4EE3;&#x7801;&#x8868;&#x5BF9;&#x8C61;&#x7684;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x3002;&#x6A21;&#x578B;&#x4E3A;getPSCodeList().getCodeName()</td>
        </tr>
        <tr>
            <td>codelistType</td>
            <td>&#x4ECE;&#x7F16;&#x8F91;&#x5668;&#x5BB9;&#x5668;&#x4E2D;&#x83B7;&#x53D6;&#x4EE3;&#x7801;&#x8868;&#x5BF9;&#x8C61;&#x7684;&#x4EE3;&#x7801;&#x8868;&#x7C7B;&#x578B;&#x3002;&#x6A21;&#x578B;&#x4E3A;getPSCodeList().getCodeListType()</td>
        </tr>
    </tbody>
</table>


<h3 id="&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;&#x903B;&#x8F91;">&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;&#x903B;&#x8F91;</h3>
<p>&#x5355;&#x4F4D;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;&#x901A;&#x8FC7;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x9009;&#x62E9;&#x5355;&#x4F4D;&#x7EC4;&#x7EC7;&#x4EBA;&#x5458;&#x3002;</p>
<p><img src="images/image-20200903162224044.png" alt="image-20200903162224044"></p>
<p>1.&#x76D1;&#x63A7;&#x8868;&#x5355;&#x503C;&#x6539;&#x53D8;&#x6765;&#x5BF9;&#x9009;&#x4E2D;&#x6570;&#x636E;&#x8FDB;&#x884C;&#x5C55;&#x793A;(&#x82E5;&#x7F16;&#x8F91;&#x5668;&#x914D;&#x7F6E;&#x4E86;&#x503C;&#x9879;&#xFF0C;&#x4E14;&#x503C;&#x9879;&#x5B58;&#x5728;&#x503C;&#xFF0C;&#x4F46;&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x8868;&#x5355;&#x9879;&#x65E0;&#x503C;&#xFF0C;&#x5219;&#x53EF;&#x901A;&#x8FC7;&#x914D;&#x7F6E;&#x7684;&#x4EE3;&#x7801;&#x8868;&#x6765;&#x7ED9;&#x5C55;&#x793A;&#x6570;&#x636E;&#x7684;label&#x5C5E;&#x6027;&#x8D4B;&#x503C;&#xFF0C;&#x7528;&#x4E8E;&#x6570;&#x636E;&#x5C55;&#x793A;)&#x3002;</p>
<p><img src="images/image-20200902184653676.png" alt="image-20200902184653676"></p>
<p><img src="images/image-20200902184753536.png" alt="image-20200902184753536"></p>
<p>2.&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x65F6;&#xFF0C;&#x5C06;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x7684;&#x8DEF;&#x5F84;&#xFF0C;&#x8FC7;&#x6EE4;&#x503C;&#xFF0C;&#x591A;&#x9009;&#x53C2;&#x6570;&#xFF0C;&#x9009;&#x4E2D;&#x9879;&#x96C6;&#x5408;&#x4F20;&#x9012;&#x8FC7;&#x53BB;&#xFF0C;&#x5728;app-group-picker&#x7EC4;&#x4EF6;&#x4E2D;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x7684;&#x83B7;&#x53D6;&#xFF0C;&#x4E0E;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x754C;&#x9762;&#x7684;&#x7ED8;&#x5236;&#xFF0C;&#x518D;&#x5C06;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x4E2D;&#x9009;&#x4E2D;&#x7684;&#x503C;&#x629B;&#x51FA;&#xFF0C;&#x518D;&#x5C06;&#x5176;&#x8D4B;&#x503C;&#x7ED9;app-group-select&#x7EC4;&#x4EF6;&#x4E2D;&#x7684;&#x9009;&#x4E2D;&#x9879;&#x5BF9;&#x8C61;&#x96C6;&#x5408;&#x3002;</p>
<p><img src="images/image-20200902184931786.png" alt="image-20200902184931786"></p>
<p><img src="images/image-20200902185005952.png" alt="image-20200902185005952"></p>
<p>3.&#x629B;&#x51FA;&#x503C;&#x3002;</p>
<p><img src="images/image-20200902185100665.png" alt="image-20200902185100665"></p>
<h2 id="&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;">&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;</h2>
<p>&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x662F;&#x6570;&#x636E;&#x9009;&#x62E9;&#x7F16;&#x8F91;&#x5668;&#x7684;&#x6269;&#x5C55;&#x63D2;&#x4EF6;&#x3002;</p>
<h3 id="&#x5448;&#x73B0;&#x6548;&#x679C;">&#x5448;&#x73B0;&#x6548;&#x679C;</h3>
<p><img src="images/image-20200914173249738.png" alt="image-20200914173249738"></p>
<h3 id="&#x63D2;&#x4EF6;&#x6269;&#x5C55;">&#x63D2;&#x4EF6;&#x6269;&#x5C55;</h3>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x6269;&#x5C55;&#x6807;&#x8BC6;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E530000-01</td>
<td>DEPTPERSONSELECT</td>
<td>&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x5185;&#x4EBA;&#x5458;&#x5355;&#x9009;</td>
</tr>
<tr>
<td>E530000-02</td>
<td>DEPTPERSONMULTIPLE</td>
<td>&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x5185;&#x4EBA;&#x5458;&#x591A;&#x9009;</td>
</tr>
<tr>
<td>E530000-03</td>
<td>ALLDEPTPERSONSELECT</td>
<td>&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x53CA;&#x5176;&#x4E0B;&#x7EA7;&#x90E8;&#x95E8;&#x6240;&#x6709;&#x4EBA;&#x5458;&#x5355;&#x9009;</td>
</tr>
<tr>
<td>E530000-04</td>
<td>ALLDEPTPERSONMULTIPLE</td>
<td>&#x6307;&#x5B9A;&#x90E8;&#x95E8;&#x53CA;&#x5176;&#x4E0B;&#x7EA7;&#x90E8;&#x95E8;&#x6240;&#x6709;&#x4EBA;&#x5458;&#x591A;&#x9009;</td>
</tr>
</tbody>
</table>
<h3 id="&#x57FA;&#x7840;&#x7528;&#x6CD5;">&#x57FA;&#x7840;&#x7528;&#x6CD5;</h3>
<h4 id="attributes">Attributes</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x6A21;&#x578B;</th>
<th>&#x8BF4;&#x660E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E530001</td>
<td>name</td>
<td>&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;</td>
<td>getName()</td>
<td>&#x540D;&#x79F0;&#x6807;&#x8BC6;</td>
</tr>
<tr>
<td>E530002</td>
<td>context</td>
<td>&#x4E0A;&#x4E0B;&#x6587;&#x53C2;&#x6570;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;context&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E530003</td>
<td>data</td>
<td>&#x8868;&#x5355;&#x6570;&#x636E;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6570;&#x636E;</td>
</tr>
<tr>
<td>E530004</td>
<td>disabled</td>
<td>&#x662F;&#x5426;&#x7981;&#x7528;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x6A21;&#x578B;disabled&#x5C5E;&#x6027;</td>
</tr>
<tr>
<td>E530005</td>
<td>value</td>
<td>&#x8868;&#x5355;&#x9879;&#x503C;</td>
<td>&#x2014;&#x2014;&#x2014;</td>
<td>&#x7ED1;&#x5B9A;&#x8868;&#x5355;&#x9879;&#x503C;</td>
</tr>
<tr>
<td>E530006</td>
<td>valueitem</td>
<td>&#x503C;&#x9879;</td>
<td>getValueItemName()</td>
<td>&#x5E73;&#x53F0;&#x914D;&#x7F6E;&#x503C;&#x9879;</td>
</tr>
<tr>
<td>E530007</td>
<td>treeurl</td>
<td>&#x6811;&#x52A0;&#x8F7D;&#x5730;&#x5740;</td>
<td>getEditorParam(&quot;treeurl&quot;, &quot;&quot;)</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E530008</td>
<td>url</td>
<td>&#x6570;&#x636E;&#x63A5;&#x53E3;&#x5730;&#x5740;</td>
<td>getEditorParam(&quot;url&quot;, &quot;&quot;)</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E530009</td>
<td>multiple</td>
<td>&#x662F;&#x5426;&#x591A;&#x9009;</td>
<td>getEditorParam(&quot;multiple&quot;, &quot;&quot;)</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E530010</td>
<td>tag</td>
<td>&#x4EE3;&#x7801;&#x8868;&#x6807;&#x8BC6;</td>
<td>getPSEditorContainer()</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E530011</td>
<td>codelistType</td>
<td>&#x4EE3;&#x7801;&#x8868;&#x7C7B;&#x578B;</td>
<td>getPSEditorContainer()</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E530012</td>
<td>filter</td>
<td>&#x8FC7;&#x6EE4;&#x5C5E;&#x6027;</td>
<td>getEditorParam(&quot;filter&quot;, &quot;&quot;)</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
<tr>
<td>E530013</td>
<td>fillmap</td>
<td>&#x586B;&#x5145;&#x5C5E;&#x6027;</td>
<td>getEditorParam(&quot;fillMap&quot;, &quot;&quot;)</td>
<td>&#x8BE6;&#x89C1;&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</td>
</tr>
</tbody>
</table>
<h4 id="events">Events</h4>
<table>
<thead>
<tr>
<th>&#x7F16;&#x53F7;</th>
<th>&#x53C2;&#x6570;</th>
<th>&#x529F;&#x80FD;</th>
<th>&#x56DE;&#x8C03;&#x53C2;&#x6570;</th>
</tr>
</thead>
<tbody>
<tr>
<td>E530014</td>
<td>formitemvaluechange</td>
<td>&#x503C;&#x6539;&#x53D8;&#x65F6;&#x89E6;&#x53D1;</td>
<td>($event:{name,value}&#xFF09;</td>
</tr>
</tbody>
</table>
<h3 id="&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;">&#x9AD8;&#x7EA7;&#x8FDB;&#x9636;</h3>
<table>
    <tdead>
        <tr>
            <th>&#x53C2;&#x6570;&#x7C7B;&#x578B;</th>
            <th>&#x53C2;&#x6570;</th>
            <th>&#x53C2;&#x6570;&#x8BF4;&#x660E;</th>
        </tr>
    </tdead>
    <tbody>
        <tr>
            <td rowspan="5">&#x81EA;&#x5B9A;&#x4E49;&#x53C2;&#x6570;</td>
            <td>treeurl</td>
            <td>&#x5982;&#x679C;&#x662F;&#x901A;&#x8FC7;&#x5F53;&#x524D;&#x90E8;&#x95E8;&#x7684;&#x5404;&#x4E2A;&#x4E0B;&#x7EA7;&#x90E8;&#x95E8;id&#x6765;&#x67E5;&#x8BE2;&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#xFF0C;&#x5219;&#x9700;&#x8981;&#x5728;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x4E2D;&#x914D;&#x7F6E;&#x8BE5;&#x8DEF;&#x5F84;&#x6765;&#x67E5;&#x8BE2;&#x5404;&#x4E2A;&#x4E0B;&#x7EA7;&#x90E8;&#x95E8;&#xFF0C;&#x5E76;&#x4E14;&#x5FC5;&#x987B;&#x914D;&#x7F6E;url&#x53BB;&#x83B7;&#x53D6;&#x5404;&#x4E2A;&#x90E8;&#x95E8;&#x7684;&#x4EBA;&#x5458;&#x3002;&#x683C;&#x5F0F;&#x5982;treeurl=/xxx/{deptId}/xxx/xxx</td>
        </tr>
        <tr>
            <td>url</td>
            <td>&#x83B7;&#x53D6;&#x90E8;&#x95E8;&#x4E0B;&#x7684;&#x4EBA;&#x5458;&#x4FE1;&#x606F;&#x7684;&#x5730;&#x5740;&#xFF0C;&#x5FC5;&#x987B;&#x914D;&#x7F6E;&#x8BE5;&#x53C2;&#x6570;&#x3002;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x5982;url=/xxx/{deptId}/xxx</td>
        </tr>
        <tr>
            <td>multiple</td>
            <td>&#x914D;&#x7F6E;&#x662F;&#x5426;&#x591A;&#x9009;&#xFF0C;&#x4E0D;&#x914D;&#x7F6E;&#x9ED8;&#x8BA4;&#x5355;&#x9009;&#x3002;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x5982;multiple=true</td>
        </tr>
        <tr>
            <td>filter</td>
            <td>&#x914D;&#x7F6E;&#x90E8;&#x95E8;&#x6807;&#x8BC6;id&#x7528;&#x6765;&#x8FC7;&#x6EE4;&#x7528;&#x6237;&#x9700;&#x6C42;&#x7684;&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x6570;&#x636E;&#x3002;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;filter=aaa&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A;srfpdept&#xFF0C;&#x4E0D;&#x914D;&#x7F6E;&#x65F6;&#x4ECE;&#x4E0A;&#x4E0B;&#x6587;&#x53C2;&#x6570;&#x4E2D;&#x83B7;&#x53D6;&#x5F53;&#x524D;&#x90E8;&#x95E8;&#x6807;&#x8BC6;&#x4EE3;&#x7801;&#x3002;&#x7528;&#x4E8E;&#x5C06;&#x5176;&#x503C;&#x586B;&#x5165;url&#x8DEF;&#x5F84;&#x4E2D;&#x7684;{deptId}&#x4F5C;&#x4E3A;&#x5B8C;&#x6574;&#x67E5;&#x8BE2;&#x6570;&#x636E;&#x8DEF;&#x5F84;</td>
        </tr>
        <tr>
            <td>fillmap</td>
            <td>&#x914D;&#x7F6E;&#x7528;&#x6237;&#x60F3;&#x8981;&#x586B;&#x5145;&#x7684;&#x5C5E;&#x6027;&#x9879;&#xFF0C;&#x7F16;&#x8F91;&#x5668;&#x53C2;&#x6570;&#x683C;&#x5F0F;&#x4E3A;fillmap={&apos;parm1&apos;:&apos;value1&apos;,&apos;parm2&apos;:&apos;value2&apos;}&#x9ED8;&#x8BA4;&#x4E3A;{&apos;id&apos;:&apos;valueitem&apos;,&apos;label&apos;:&apos;name&apos;},id&#x4E3A;&#x503C;&#x9879;&#x540D;&#x79F0;&#xFF0C;label&#x4E3A;&#x8868;&#x5355;&#x9879;&#x540D;&#x79F0;&#xFF0C;&#x82E5;&#x4E0D;&#x914D;&#x7F6E;&#x6B64;&#x9879;&#xFF0C;&#x5219;&#x5FC5;&#x987B;&#x914D;&#x7F6E;&#x503C;&#x9879;</td>
        </tr>
        <tr>
            <td rowspan="3">&#x4EE3;&#x7801;&#x8868;&#x914D;&#x7F6E;</td>
            <td>&#x7528;&#x9014;&#x8BF4;&#x660E;</td>
            <td>&#x5728;&#x76D1;&#x63A7;&#x8868;&#x5355;&#x6570;&#x636E;&#x53D8;&#x5316;&#x65F6;&#xFF0C;&#x82E5;&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x914D;&#x7F6E;&#x4E86;&#x503C;&#x9879;&#xFF0C;&#x4E14;&#x503C;&#x9879;&#x6709;&#x503C;&#xFF0C;&#x4F46;&#x662F;&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x8868;&#x5355;&#x9879;&#x65E0;&#x503C;&#xFF0C;&#x5219;&#x53EF;&#x901A;&#x8FC7;&#x4EE3;&#x7801;&#x8868;&#x6765;&#x7ED9;&#x5C55;&#x793A;&#x6570;&#x636E;&#x7684;label&#x5C5E;&#x6027;&#x8D4B;&#x503C;&#xFF0C;&#x7528;&#x6765;&#x5C55;&#x793A;&#x6570;&#x636E;</td>
        </tr>
        <tr>
            <td>tag</td>
            <td>&#x4ECE;&#x7F16;&#x8F91;&#x5668;&#x5BB9;&#x5668;&#x4E2D;&#x83B7;&#x53D6;&#x4EE3;&#x7801;&#x8868;&#x5BF9;&#x8C61;&#x7684;&#x4EE3;&#x7801;&#x6807;&#x8BC6;&#x3002;&#x6A21;&#x578B;&#x4E3A;getPSCodeList().getCodeName()</td>
        </tr>
        <tr>
            <td>codelistType</td>
            <td>&#x4ECE;&#x7F16;&#x8F91;&#x5668;&#x5BB9;&#x5668;&#x4E2D;&#x83B7;&#x53D6;&#x4EE3;&#x7801;&#x8868;&#x5BF9;&#x8C61;&#x7684;&#x4EE3;&#x7801;&#x8868;&#x7C7B;&#x578B;&#x3002;&#x6A21;&#x578B;&#x4E3A;getPSCodeList().getCodeListType()</td>
        </tr>
    </tbody>
</table>

<h3 id="&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;&#x903B;&#x8F91;">&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x5668;&#x903B;&#x8F91;</h3>
<p>&#x901A;&#x8FC7;&#x4E0B;&#x62C9;&#x9009;&#x62E9;&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x6216;&#x5219;&#x662F;&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x8FDB;&#x884C;&#x90E8;&#x95E8;&#x4EBA;&#x5458;&#x9009;&#x62E9;&#x3002;</p>
<p><img src="images/image-20200903161839175.png" alt="image-20200903161839175"></p>
<p>1.&#x5C55;&#x5F00;&#x4E0B;&#x62C9;&#x9009;&#x62E9;&#x6846;&#x65F6;&#xFF0C;&#x7B2C;&#x4E00;&#x6B21;&#x5C55;&#x5F00;&#x65F6;&#xFF0C;&#x6839;&#x636E;url&#x548C;filter(&#x8FC7;&#x6EE4;&#x5C5E;&#x6027;&#x7684;&#x503C;)&#x53BB;&#x67E5;&#x8BE2;&#x6570;&#x636E;&#xFF0C;&#x5C06;&#x5176;&#x653E;&#x5165;store&#x4E2D;&#x4FDD;&#x5B58;&#xFF0C;&#x4E0B;&#x6B21;&#x5C55;&#x5F00;&#x65F6;&#x4ECE;&#x5168;&#x5C40;&#x72B6;&#x6001;&#x7BA1;&#x7406;&#x4E2D;&#x83B7;&#x53D6;&#x3002;</p>
<p><img src="images/image-20200903161650116.png" alt="image-20200903161650116"></p>
<p><img src="images/image-20200903161726198.png" alt="image-20200903161726198"></p>
<p>2.&#x76D1;&#x63A7;&#x8868;&#x5355;&#x503C;&#x53D8;&#x5316;&#xFF0C;&#x8FDB;&#x884C;&#x9009;&#x4E2D;&#x6570;&#x636E;&#x7684;&#x5C55;&#x793A;(&#x82E5;&#x7F16;&#x8F91;&#x5668;&#x914D;&#x7F6E;&#x4E86;&#x503C;&#x9879;&#xFF0C;&#x4E14;&#x503C;&#x9879;&#x5B58;&#x5728;&#x503C;&#xFF0C;&#x4F46;&#x8BE5;&#x7F16;&#x8F91;&#x5668;&#x8868;&#x5355;&#x9879;&#x65E0;&#x503C;&#xFF0C;&#x5219;&#x53EF;&#x901A;&#x8FC7;&#x914D;&#x7F6E;&#x7684;&#x4EE3;&#x7801;&#x8868;&#x6765;&#x7ED9;&#x5C55;&#x793A;&#x6570;&#x636E;&#x7684;label&#x5C5E;&#x6027;&#x8D4B;&#x503C;&#xFF0C;&#x7528;&#x4E8E;&#x6570;&#x636E;&#x5C55;&#x793A;)&#x3002;</p>
<p><img src="images/image-20200903133016512.png" alt="image-20200903133016512"></p>
<p><img src="images/image-20200902182434003.png" alt="image-20200902182434003"></p>
<p>3.&#x6253;&#x5F00;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x65F6;&#xFF0C;&#x5C06;&#x83B7;&#x53D6;&#x6570;&#x636E;&#x7684;&#x8DEF;&#x5F84;&#xFF0C;&#x8FC7;&#x6EE4;&#x503C;&#xFF0C;&#x591A;&#x9009;&#x53C2;&#x6570;&#xFF0C;&#x9009;&#x4E2D;&#x9879;&#x96C6;&#x5408;&#x4F20;&#x9012;&#x8FC7;&#x53BB;&#xFF0C;&#x5728;app-group-picker&#x7EC4;&#x4EF6;&#x4E2D;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x7684;&#x83B7;&#x53D6;&#xFF0C;&#x4E0E;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x754C;&#x9762;&#x7684;&#x7ED8;&#x5236;&#xFF0C;&#x518D;&#x5C06;&#x9009;&#x62E9;&#x89C6;&#x56FE;&#x4E2D;&#x9009;&#x4E2D;&#x7684;&#x503C;&#x629B;&#x51FA;&#xFF0C;&#x518D;&#x5C06;&#x5176;&#x8D4B;&#x503C;&#x7ED9;app-department-personnel&#x7EC4;&#x4EF6;&#x4E2D;&#x7684;&#x9009;&#x4E2D;&#x9879;&#x5BF9;&#x8C61;&#x96C6;&#x5408;&#x3002;</p>
<p><img src="images/image-20200902182733106.png" alt="image-20200902182733106"></p>
<p><img src="images/image-20200903133202195.png" alt="image-20200903133202195"></p>
<p>4.&#x9009;&#x4E2D;&#x9879;&#x6539;&#x53D8;&#x65F6;&#xFF0C;&#x91CD;&#x65B0;&#x8BBE;&#x7F6E;&#x9009;&#x4E2D;&#x9879;&#x5BF9;&#x8C61;&#x96C6;&#x5408;&#x3002;</p>
<p><img src="images/image-20200902182906013.png" alt="image-20200902182906013"></p>
<p>5.&#x629B;&#x51FA;&#x503C;&#x3002;</p>
<p><img src="images/image-20200902182945499.png" alt="image-20200902182945499"></p>

                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="FILEUPLOADlIST.html" class="navigation navigation-prev " aria-label="Previous page: 文件上传类">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="AUTOCOMPLETELIST.html" class="navigation navigation-next " aria-label="Next page: 自动填充类">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"数据选择类","level":"2.4.6","depth":2,"next":{"title":"自动填充类","level":"2.4.7","depth":2,"path":"EDITORS/AUTOCOMPLETELIST.md","ref":"./EDITORS/AUTOCOMPLETELIST.md","articles":[]},"previous":{"title":"文件上传类","level":"2.4.5","depth":2,"path":"EDITORS/FILEUPLOADlIST.md","ref":"./EDITORS/FILEUPLOADlIST.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"EDITORS/DATASELECT.md","mtime":"2020-10-27T06:11:11.679Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-11-02T06:38:45.289Z"},"basePath":"..","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="../gitbook/gitbook.js"></script>
    <script src="../gitbook/theme.js"></script>
    
        
        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

